课后题 数据结构 B树和B+树 选择题
第 5 题

设二叉排序树中关键字由1到1000的整数构成,现要查找关键字为363的结点,下述 关键字序列中,不可能是在二叉排序树上查找的序列是()。

A. 2,252,401,398,330,344,397,363 B.924,220,911,244,898,258,362,363 C. 925,202,911,240,912,245,363 D.2,399,387,219,266,382,381,278,363

[tag_link]

正确答案:C

二叉排序树(BST)的查找过程是:从根结点开始,将待查关键字与当前结点的关键字比较,若小于则进入左子树,若大于则进入右子树。 所以查找路径中的每个结点关键字必须满足:左子树所有结点 < 根结点 < 右子树所有结点。

选项C的查找路径为 925 → 202 → 911 → 240 → 912,注意在240之后进入912,而912大于911(上次比较的结点), 但根据BST性质,在240(位于911的左子树)之后只能继续向左或向右查找该子树内结点,不可能跳回到一个大于当前路径中某结点(911)的值, 除非该值在正确的子树方向上。实际上,在240(在911左子树中)之后查找到912,但912 > 911且912不可能出现在911左子树的240之后, 因为911的左子树中所有结点都小于911。故C不可能。