Appearance
题目
已知二叉排序树如下图所示,元素之间应满足的大小关系是( )。
错因
A
只盯着了根 < 右子 这一段,凭"位置越往右越大"的直觉把 也接在 后面写成 。事实上 是 的左子,应该 才对——选 A 的人没看清 在 的左还是右子树。
B
误把 的位置关系当成左小右大的常识却没看准父子方向。 是 的右子, 又是 的左子,所以应是 (左子比父小),而不是 。选 B 的人多半是把"沿着图往下走值依次变大"当成了铁律,但二叉排序树的左右关系才是判定大小的唯一依据。
D
确实抓到了" 比 大"和" 比 小"这两条父子关系,但没发现 还在 的右子树整体里,所以必有 。结果把 和 拼出来——前半截直接错( 是 的右子,应当 )。这是把"父子比较"和"祖孙比较"两件事都顾,但顾错了方向。
总解析
关键性质:在二叉排序树中,对任意结点 ,其左子树所有结点 < < 右子树所有结点。等价地说:中序遍历序列单调递增。
先把图里每个结点的父子关系读清楚:
- 是根, 是 的右子( 没有左子);
- 是 的左子( 没有右子);
- 是 的右子( 没有左子);
- 是 的左子( 没有右子)。
用 BST 性质推大小:
| 关系 | 来源 |
|---|---|
| 在 右子树 | |
| 在 左子树 | |
| 是 右子 | |
| 是 左子 | |
| 在 右子树( 是 右子 的左子,仍属于 右子树) | |
| 在 左子树 |
直接读中序序列(最快的判断方式):左 → 根 → 右,递归走完得到
中序必为递增,所以总顺序是 。
对照选项:
- A. —— 而非 ,错;
- B. —— 而非 ,错;
- C. —— 与中序序列里相邻的三项一致 ✓;
- D. —— 而非 ,错。
最终答案是 C()。