美文网首页
二分法查找(折半查找)

二分法查找(折半查找)

作者: baihualinxin | 来源:发表于2018-05-07 09:50 被阅读0次

(1)确定该区间的中点位置:mid=(low+high)/2

min代表区间中间的结点的位置,low代表区间最左结点位置,high代表区间最右结点位置

(2)将待查a值与结点mid的关键字(下面用R[mid].key)比较,若相等,则查找成功,否则确定新的查找区间:

如果R[mid].key>a,则由表的有序性可知,R[mid].key右侧的值都大于a,所以等于a的关键字如果存在,必然在R[mid].key左边的表中。这时high=mid-1

如果R[mid].key

如果R[mid].key=a,则查找成功。

(3)下一次查找针对新的查找区间,重复步骤(1)和(2)

(4)在查找过程中,low逐步增加,high逐步减少,如果high

平均查找长度=Log2(n+1)-1

注:虽然二分法查找的效率高,但是要将表按关键字排序。而排序本身是一种很费时的运算,所以二分法比较适用于顺序存储结构。为保持表的有序性,在顺序结构中插入和删除都必须移动大量的结点。因此,二分查找特别适用于那种一经建立就很少改动而又经常需要查找的线性表。

相关文章

  • 查找算法

    三种查找算法:顺序查找,二分法查找(折半查找),分块查找,散列表

  • 刷前端面经笔记(九)

    1.JavaScript实现二分法查找? 二分法查找,也称折半查找,是一种在有序数组中查找特定元素的搜索算法。查找...

  • 【爬虫】数据结构实现折半查找的算法

    数据结构实现折半查找的算法 折半查找技术,也就是二分查找,通常称为二分法查找。它的前期是线性表中的记录必须是关键码...

  • (转)三大查找

    三大查找方法 顺序查找,二分法查找(折半查找),分块查找 顺序查找的基本思想: 从表的一端开始,顺序扫描表,依次将...

  • 数据结构学习-三大查找八大排序

    三大查找方法 顺序查找,二分法查找(折半查找),分块查找 顺序查找的基本思想: 从表的一端开始,顺序扫描表,依次将...

  • 数据结构学习-三大查找八大排序

    三大查找方法 顺序查找,二分法查找(折半查找),分块查找 顺序查找的基本思想: 从表的一端开始,顺序扫描表,依次将...

  • 算法:二分法查找(折半查找法)

    算法:二分法查找(折半查找法) 这是最经典的折半查找,而在面试的时候往往会对某些经典的数据结构和算法进行魔改,这道...

  • PHP查找算法

    静态查找 顺序查找 折半查找 递归折半查找

  • 解析前端面试之二分查找算法

    二分法查找,也称为折半法,是一种在有序数组中查找特定元素的搜索算法。 二分法查找的思路如下: (1)首先,从数组的...

  • 算法基础—二分法查找

    一、前言     二分法查找又称为折半查找,二分法查找的基本思想是把数组中的元素从小到大有序地存放进数组中,首先将...

网友评论

      本文标题:二分法查找(折半查找)

      本文链接:https://www.haomeiwen.com/subject/ajxamttx.html