数据结构_查找技术_折半查找

折半查找

前提:折半查找的前提是给定的数是有顺序的,或正序或逆序
思想:

  • 选定给定这组数中的中间的那个数为界,假设给定数是由小到大的顺序
  • 如果要查找的数小于中间的数则在左半边找,若大于则在右半边找
  • 第一次比较结束后,假设在左半边找,则待查数再继续与左半边中间的数比,若小于中间数则在此数左边找,大于则在右边找。
  • 反复进行下去,直到找到待查数或未查到,查找不成功

举例:

在下列给定数中查找14
在这里插入图片描述

折半查找二叉判定树的构建:
选取的中间点作为根结点,根节点左子树为中间点作半部分数,右子树为中间点右半部分数。然后再按上述方法对字树进行细分

举例:对1,2,3,4,5,6,7,8,9,10这组树进行构建二叉判定树
下图为构建根结点左子树
在这里插入图片描述
取中间结点5作为整个树的根结点
左子树中间为2
2的左子树为1,右子树为3,4的中间结点3
3无左子树,右子树为4的中间结点即4
右子树构建方法同左子树
最终构建结果为下图
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/BeatRex/article/details/85841629