Skip to content

2018年 408 数据结构 第 6 题

数据结构2018年选择题2分

题目

已知二叉排序树如下图所示,元素之间应满足的大小关系是( )。

x1x2x3x4x5

错因

A

只盯着了根 < 右子 这一段,凭"位置越往右越大"的直觉把 也接在 后面写成 。事实上 左子,应该 才对——选 A 的人没看清 的左还是右子树。

B

误把 的位置关系当成左小右大的常识却没看准父子方向。 的右子, 又是 的左子,所以应是 (左子比父小),而不是 。选 B 的人多半是把"沿着图往下走值依次变大"当成了铁律,但二叉排序树的左右关系才是判定大小的唯一依据。

D

确实抓到了" 大"和" 小"这两条父子关系,但没发现 还在 的右子树整体里,所以必有 。结果把 拼出来——前半截直接错( 的右子,应当 )。这是把"父子比较"和"祖孙比较"两件事都顾,但顾错了方向。

总解析

关键性质:在二叉排序树中,对任意结点 ,其左子树所有结点 < < 右子树所有结点。等价地说:中序遍历序列单调递增

先把图里每个结点的父子关系读清楚

  • 是根, 的右子( 没有左子);
  • 的左子( 没有右子);
  • 的右子( 没有左子);
  • 的左子( 没有右子)。

用 BST 性质推大小

关系来源
右子树
左子树
右子
左子
右子树( 右子 的左子,仍属于 右子树)
左子树

直接读中序序列(最快的判断方式):左 → 根 → 右,递归走完得到

中序必为递增,所以总顺序是

对照选项

  • A. —— 而非 ,错;
  • B. —— 而非 ,错;
  • C. —— 与中序序列里相邻的三项一致 ✓;
  • D. —— 而非 ,错。

最终答案是 C(

最后更新:

🎬 可视化演示
加载中...

提示:可在可视化区直接操作播放、步进、修改参数