查找

作者: LynnGuo | 来源:发表于2018-05-21 15:02 被阅读0次
  1. 折半查找(顺序表,数据有序排列)

在有序表中,把待查找数据值与查找范围的中间元素值进行比较,会有三种情况出现:

1) 待查找数据值与中间元素值正好相等,则放回中间元素值的索引。

2) 待查找数据值比中间元素值小,则以整个查找范围的前半部分作为新的查找范围,执行1),直到找到相等的值。

3) 待查找数据值比中间元素值大,则以整个查找范围的后半部分作为新的查找范围,执行1),直到找到相等的值

4) 如果最后找不到相等的值,则返回错误提示信息。

int BiSearch(int data[], int x, int beg, int last) {

       if (beg > last) return -1;

       int mid = data.length / 2;

       while (beg <= last) {
           if (data[mid] == x) {
               return mid;
           }
           if (data[mid] > x) {
               beg = mid + 1;
           }
           if (data[mid] < x) {
               last = beg + 1;
           }
       }
       return -1;
   }
int biSearch(int data[], int x) {

        if (data.length <= 0) return -1;

        int first = 0;
        int last = data.length - 1;
        int mid = (first + last) / 2;

        while (mid <= data.length - 1) {
            if (data[mid] == x) return mid;
            if (data[mid] > x) last = mid - 1;
            if (data[mid] < x) first = mid;
        }
        return -1;
    }

相关文章

  • 《数据结构与算法》知识点(四)

    第七章 查找 顺序查找、折半查找、索引查找、分块查找是静态查找,动态查找有二叉排序树查找,最优二叉树查找,键树查找...

  • 查找

    静态查找顺序查找 折半查找 散列查找 动态查找二叉排序树 散列查找 ASL(平均查找长度) - 衡量查找算法效率的...

  • PHP查找算法

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

  • 6.1 查找算法_基础

    1. 查找基本概念 查找:只有两种情况,查找成功,查找失败 查找表:查找的数据集合称为查找表 静态查找表 / 动态...

  • 据结构与算法学习-查找与二叉排序树

    查找表操作方式分为静态查找和动态查找。静态查找表(Static Search Table): 只作查找操作的查找表...

  • iOS-字符串查找

    字符串查找通常有四种方式,暴力查找,KMP查找,BoyerMoore查找以及RabinKarp算法查找,查找最简单...

  • linux 查找目录或文件

    查找目录:find /(查找范围) -name '查找关键字' -type d查找文件:find /(查找范围) ...

  • Linux查找文件、文件夹

    查找目录:find /(查找范围) -name '查找关键字' -type d查找文件:find /(查找范围) ...

  • linux常用命令

    查找目录:find /(查找范围) -name '查找关键字' -type d查找文件:find /(查找范围) ...

  • linux查找文件夹、文件

    查找目录:find /(查找范围) -name '查找关键字' -type d 查找文件:find /(查找范围)...

网友评论

      本文标题:查找

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