折半查找
前提:折半查找的前提是给定的数是有顺序的,或正序或逆序
思想:
- 选定给定这组数中的中间的那个数为界,假设给定数是由小到大的顺序
- 如果要查找的数小于中间的数则在左半边找,若大于则在右半边找
- 第一次比较结束后,假设在左半边找,则待查数再继续与左半边中间的数比,若小于中间数则在此数左边找,大于则在右边找。
- 反复进行下去,直到找到待查数或未查到,查找不成功
举例:
在下列给定数中查找14
折半查找二叉判定树的构建:
选取的中间点作为根结点,根节点左子树为中间点作半部分数,右子树为中间点右半部分数。然后再按上述方法对字树进行细分
举例:对1,2,3,4,5,6,7,8,9,10这组树进行构建二叉判定树
下图为构建根结点左子树
取中间结点5作为整个树的根结点
左子树中间为2
2的左子树为1,右子树为3,4的中间结点3
3无左子树,右子树为4的中间结点即4
右子树构建方法同左子树
最终构建结果为下图