美文网首页数据结构和算法
数据结构和算法之二分查找

数据结构和算法之二分查找

作者: Fwwwddd | 来源:发表于2017-07-06 22:58 被阅读36次

二分查找概念:

二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;器缺点是要求带查表为有序表,且插入删除困难。因此,折半查找适用于不经常变动而查找频繁的有序列表。否则,假设表中元素是按升序排列,将表中间位置记录的关键字和查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,知道找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。

算法要求:

1.必须采用顺序存储结构

2.必须按关键字大小有排列

时间复杂度:

无非就是while循环的次数!

总共有n个元素,渐渐跟下去就是n,n/2,n/4,....n/2^k(接下来操作元素的剩余个数),其中k就是循环的次数,由于你n/2^k取整后>=1即令n/2^k=1可得k=log2n,(是以2为底,n的对数)

所以时间复杂度可以表示O(h)=O(log2n)

Java代码实现:

若要查找的数据存在,返回数据下标,若不存在,返回-1;

整理复制于百度百科

相关文章

  • 排序算法

    算法与数据结构基础 查找算法: 二分查找法: 简介:二分查找法又被称为折半查找法,用于预排序的查找问题 过程: 如...

  • 音视频开发之旅(27) 算法序列 - 二叉查找树

    目录 常见的查找数据结构和算法介绍 二叉查找树 资料 收获 一、常见的查找数据结构和算法介绍 1.1 链表(顺序查...

  • 数据结构和算法之二分查找

    二分查找概念: 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;器缺点是要求带查表为有序表,且插入...

  • 想去阿里——这是你必备的实力

    算法和数据结构数组、链表、二叉树、队列、栈的各种操作(性能,场景) 二分查找和各种变种的二分查找 各类排序算法以及...

  • 想去阿里——这是你必备的实力

    算法和数据结构数组、链表、二叉树、队列、栈的各种操作(性能,场景)二分查找和各种变种的二分查找各类排序算法以及复杂...

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

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

  • 查找算法之二分查找算法

    二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其是要求待查表为有序表,且插入删除困难。因此,折半...

  • 数据结构与算法--散列表

    数据结构与算法--散列表 之前学习了基于链表的顺序查找、基于有序数组的二分查找、二叉查找树、红黑树,这些算法在查找...

  • leetcode和牛客网刷题

    在上学时学过《数据结构和算法》这门课,当时学习了数组、链表、哈希表、二叉树、图等数据结构,还有排序算法、二分查找、...

  • 数据结构与算法--Boyer-Moore和Rabin-Karp子

    数据结构与算法--Boyer-Moore和Rabin-Karp子字符串查找 Boyer-Moore字符串查找算法 ...

网友评论

    本文标题:数据结构和算法之二分查找

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