`
javatoyou
  • 浏览: 1016653 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

折半查找,二分法查找

 
阅读更多

前提是这个集合是一个有序的组合,不然就不可以折半去找

折半的原理基本上就是把一个有序的集合从中间拆成两半,然后看中间序号的元素是否大于你要查找的值,如果小于就跳到后半段,从后半段的中间序号开始查

举例

想象你正在试图猜测一个朋友选出的1到100之间的数。对于你做出的每一次猜测,朋友告诉你是否猜到了正确的数字,或者你的猜测过大,又或者过小。最佳策略是选择50作为第一个猜测目标。如果猜测过大下一个你就猜25。如果50过小你再猜75。每一次猜测,你应当选择较小的范围或者较大的范围(由你的猜测是过大或过小而定)的中间点作为下一个猜测目标。只要遵守这个策略,你将最终猜到正确的数字。图4.1展示了在选定的数字是82的情况下这个方法的工作情况。


分享到:
评论

相关推荐

    JAVA 折半查找 实验代码

    JAVA 数据结构二分法查找代码。(实验)

    C语言实现折半查找法(二分法)

    折半查找法也叫做二分查找,顾名思义,就是把数据分成两半,再判断所查找的key在哪一半中,再重复上述步骤知道找到目标key; 注意:折半查找法仅适用于对已有顺序的数组、数据进行操作!...二分法查找

    折半查找算法(二分法).ppt

    折半查找算法(二分法).ppt

    折半查找4.py 使用python实现的

    折半查找 折半查找4.py 使用python实现的 折半查找4.py 使用python实现的 折半查找4.py 使用python实现的 折半查找4.py 使用python实现的

    Java二分法查找数组元素.zip

    二分法查找是一种常用的查找算法,也称为折半查找。它适用于有序数组中查找某个元素的位置。二分法查找的思路是将数组分成两部分,每次查找都将待查找区间缩小一半,直到找到目标元素或者待查找区间为空为止。 ...

    学生成绩管理

    printf("\n============菜单... printf("\t8、打开总成绩排序文件,用折半查找法统计出给定分数的人数并显示\n"); printf("================================\n\n"); printf("请从菜单中选择调用相应的函数功能:");

    分别用递归和非递归方法实现二分查找算法 的完整程序

    分别用递归和非递归方法实现二分查找算法 的完整程序,indexof()返回的是循环实现的二分法查找,getindex()实现的是递归算法实现的二分法查找。

    二分查找、插值查找、斐波那契查找对比C++的实现

    C++二分查找、插值查找、斐波那契查找对比C++的实现源码,不是完整程序,仅是核心算法文件 想要跑起来 自己要懂得动动手咯

    二分查找算法流程图流程图举例

    数据结构中简单的二分查找(折半查找)流程图实例

    python二分法查找算法实现方法【递归与非递归】

    本文实例讲述了python二分法查找算法实现方法。分享给大家供大家参考,具体如下: 二分法查找 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此...

    二分法插入数据算法,绝对可用

    利用折半查找法,最快的找到需要插入数据的位置,然后插入数据,

    二分查找的优缺点以及举例

    二分查找(Binary Search),也称折半查找,是一种效率较高的查找方法。它要求线性表必须采用顺序存储结构,且表中元素按关键字有序排列。二分查找充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用O...

    二分探索法查找数据课程设计

    折半查找法也称为二分查找法或二分搜索法,它充分利用了元素间的次序关系,采用分治策略而较快地查找数据。现要求给出一个待查找的实例,并给出二分搜索算法,编写程序利用此算法实现查找。

    【JAVA基础】【算法】冒泡排序_优化排序,二分法查找_折半检索

    Java基础–基本算法 JAVA主要作为一个后端语言,对逻辑和基本算法的要求是明显高于前端程序员的(个人认为),所以大家平常逻辑性不太好的就需要多多复习和学习来提高自己的水平。 1.冒泡排序(优化排序) ...

    二分查找1

    然后对剩下的包括待查找元素一段序列继续用上述二分法继续查找,递归进行,直到查找到或查找结束。【复杂度】期望时间复杂度为【局限性】折半查找的前提条件是需要有序表顺

    数据结构自测卷集及答案

    设有100个结点,用二分法查找时,最大比较次数是 7 。 3. 假设在有序线性表a[20]上进行折半查找,则比较一次查找成功的结点数为1;比较两次查找成功的结点数为 2 ;比较四次查找成功的结点数为 8 ;平均查找长度为 ...

    JS二分查找算法详解

    二分法查找,也称折半查找,是一种在有序数组中查找特定元素的搜索算法。查找过程可以分为以下步骤: (1)首先,从有序数组的中间的元素开始搜索,如果该元素正好是目标元素(即要查找的元素),则搜索过程结束,...

    C语言及算法及代码个人体会

    c语言;二分法,折半查找算法及冒泡排序还有代码

    【Java→冒泡排序与二分法查找】懒惰的小黑笔记08(小白一名,请大家多指点)

    文章目录6.4 冒泡排序的基础算法6.4.1 冒泡排序优化算法6.5二分法查找(折半检索) 6.4 冒泡排序的基础算法 冒泡排序是常用的排序算法,笔试中非常常见。 算法重复地走访过排序的数列,一次比较两个元素,如果他们的...

    c# 二分查找算法

    折半搜索,也称二分查找算法、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。 A 搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束; B 如果某一特定元素大于或者小于中间...

Global site tag (gtag.js) - Google Analytics