美文网首页
折半查找思想

折半查找思想

作者: WWHB | 来源:发表于2016-06-24 11:52 被阅读0次

1、基本思路

在有序序列中,取中间元素作为比较对象,若给定值与中间元素的要查找的数相等,则查找

成功;若给定值小于中间元素的要查找的数,则在中间元素的左半区继续查找;

若给定值大于中间元素的要查找的数,则在中间元素的右半区继续查找。

不断重复上述查找过 程,直到查找成功,或所查找的区域无数据元素,查找失败。

2、实现步骤

【步骤】

1 min=0;max=len-1;// 设置初始区间

2 当min>max 时,返回查找失败信息// 表空,查找失败

3 min≤max,mid=(min+max)/2; //取中点

a.b.c进入循环

a. 若key

b. 若key>arr[mid],min=mid+1;转2 // 查找在右半区进行

c. 若key=arr[mid],返回数据元素在表中位置//查找成功

折半查找代码实现:

 输入一组有序数据,使用折半查找法查找一个数据,并输出其位 置。

intserach(intarr[],int len,int key){

int min =0;

int max = len-1;

for(int i=0; i < len; ++i) {

printf("%d \t",arr[i]);

}

printf("\n");

while(min<=max) {

intmid = (max+min)/2;

if(arr[mid]>key) {

max = mid-1;

}else if(arr[mid]

min = mid+1; }else{

returnmid;

}

}

相关文章

  • 折半查找思想

    1、基本思路 在有序序列中,取中间元素作为比较对象,若给定值与中间元素的要查找的数相等,则查找 成功;若给定值小于...

  • 二分查找

    一、基本思想 二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线...

  • 数据结构与算法-折半查找(二分查找)

    以有序表表示静态查找表时,可用折半查找。 折半查找思想:先确定待查记录所在的范围(区间),然后逐步缩小范围直到找到...

  • PHP查找算法

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

  • java算法之二分查找算法

    二分查找又称折半查找,它是一种效率较高的查找方法。、折半查找的算法思想:、将数列按有序化(递增或递减)排列,进行折...

  • 数组的折半原理

    必须是有序排列 折半公式:(min+max)/2 指针思想: 折半的索引和查找元素比较 ...

  • 【数据结构】【C#】014-插入类排序:🥈折半插入排序(稳定)

    插入排序:折半插入排序(稳定) 【 算法思想 】 从关于查找的讨论中可知,对于有序表进行折半查找,其性能优于顺序查...

  • 算法(一)查找算法 平衡二叉树,红黑树,B树等

    顺序查找 略 折半查找 折半查找,也称二分查找,在某些情况下,折半查找比顺序查找效率更高(要求静态查找表中数据必须...

  • 查找之有序表查找(十)

    1.二分查找(折半查找) 它的前提是线性表中的记录必须是有序的,线性表必须采用顺序存储。折半查找的基本思想是:在有...

  • C语言折半查找

    折半查找 折半查找的注意点折半查找只能查找有序数组的值 折半查找的逻辑1.把数组第一个元素的索引作为最小值,最后一...

网友评论

      本文标题:折半查找思想

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