折半查找
也被称作二分查找,即将需要查找的元素与数组中间的元素进行比较;若比中间的元素小,则再与前子表的中间元素进行比较,以此类推直至查找到所需查找元素,或者所需查找元素不在此表中。
折半查找判定树(此树必为平衡树)
即由折半查找过程中所产生的树,首尾除以二取整。
下面主要介绍如何快速判断树是否为折半查找判定树
以2017年408中的选择真题为例:
下列二叉树中,可能成为折半查找判定树(不含外部节点)的是(__)。
【分析】:首先折半查找判断树是执行折半查找过程中形成的树,那么他的子树有着相同的结构。
- 当表中元素个数为偶数个时,那么折半所产生的子表中,必然会出现两种情况:①前子表比后子表多一个元素;②后子表比前子表多一个元素;那么以这种结构推其后所有的子表应均满足此结构。
- 当表中元素个数为奇数个时,那么折半所产生的子表中,只会产生一种情况,即前后子表元素个数相同,那么以这种结构推其后所有的子表应均满足此结构。
- 若二叉树出现例如上题中BC此类关于根节点对称的结构,那么它一定不是折半查找二叉树。
基于上述三点即可以快速看出本题答案为A。至于D选项为何错误,读者可以自行分析便可轻易知晓。