已知一个长度为 16 的顺序表 L ,其元素按关键字有序排列。若采用折半查找法查找一个 L 中不存在的元素,则关键字的比较次数最多是( )。
A. 4
B. 5
C. 6
D. 7
折半查找一个有序表中不存在的元素,最多查找log2n+1次,即二叉排序树的深度。
方法一:二叉搜索树
可以画出...
用户登录可进行刷题及查看答案
可以画出对应的二叉搜索树。
明显走到最深的下标为 32 或 33 的失败结点,路径长度为 5 ,需要和下标为 1,2,4,8,16 的结点进行比较。
本题选B。
方法二:公式法
若采用折半查找法查找一个顺序表中不存在的元素,最大比较次数为对应二叉搜索树的高度,设结点数为 n ,
二叉搜索树高度为
代入 n=16 ,解得 h=5 。
登录后提交答案