折半查找法算法分析 C语言中的“折半查找法”是什么?
浏览量:1516
时间:2021-03-13 22:27:22
作者:admin
C语言中的“折半查找法”是什么?
半搜索法也称为二进制搜索法。它充分利用了元素之间的顺序关系,采用分治策略,在最坏情况下可以用O(logn)完成搜索任务。例如,排序后的数据是15 12 35 64 78 89 123 456。如果要查找12,请先将12与上述9个数字中的中间数字(64)进行比较,12< 64按上述顺序排列,因此您找到的数据位于前半部分,即15 12 35 64,然后将12与前半部分的中间数字(12)进行比较。这样,您可以在两次搜索后找到一半。半搜索的目的是提高搜索效率
C 折半查找的基本思想和步骤?
半搜索法是一种有效的搜索方法。其基本思想是:将搜索数据范围的下限设为l=0,上限设为h=4,求中点M=(l h)/2,将x与中点元素am进行比较,如果x等于am,则查找并停止搜索;否则,如果x大于am,则替换下限l=M1,在下半部分继续搜索;如果x小于am,则继续搜索然后,更改上限H=M-1,继续在上半部分搜索;重复上一过程,直到找到或L&th。如果l&th,则表示没有这样的号码,打印找不到信息,程序结束。步骤:1。首先确定整个搜索间隔的中间位置mid=(左-右)/2。2将要搜索的关键字值与中间位置的关键字值进行比较,如果相等,则搜索成功;如果大于,则在后(右)半区继续搜索;如果小于,则在前(左)半区继续搜索。三。根据确定的缩小面积的一半公式,重复上述步骤。最后得到的结果是:要么搜索成功,要么搜索失败。半搜索的存储结构是一维数组。扩展数据半搜索法的优点是:比较次数少,搜索速度快,平均性能好;缺点是需要查找的表是有序表,插入和删除困难。因此,半搜索法适合于寻找不频繁变化的频繁有序列表。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。