二分法查找的算法

2024-01-30 23:17

1个回答

假如有一组数为3,12,24,36,55,68,75,88要查给定的值24.可设三个变量front,mid,end分别指向数据的上界,中间和下界,mid=(front+end)/2.
1.开始令front=0(指向3),end=7(指向88),则mid=3(指向36)。因为mid>x,故应在前半段中查找。
2.令新的end=mid-1=2,而front=0不变,则新的mid=1。此时x>mid,故确定应在后半段中查找。
3.令新的front=mid+1=2,而end=2不变,则新的mid=2,此时a[mid]=x,查找成功。
如果要查找的数不是数列中的数,例如x=25,当第三次判断时,x>a[mid],按以上规律,令front=mid+1,即front=3,出现front>end的情况,表示查找不成功。
例:在有序的有N个元素的数组中查找用户输进去的数据x。
算法如下:
1.确定查找范围front=0,end=N-1,计算中项mid=(front+end)/2。
2.若a[mid]=x或front>=end,则结束查找;否则,向下继续。
3.若a[mid]x,说明待查找的元素值只可能在比中项元素小的范围内,则把mid-1的值赋给end,并重新计算mid,转去执行步骤2。
[一维数组,折半查找]

相关问答
我好像查到了自己的前世,不是算命那查的!
5个回答2022-06-17 03:18
你这是白日梦,自我催眠。 只有阎王爷那儿有档案的(生死簿)。不找阎王爷,就只能瞎猜。
三横一竖的算命法是查什么的
1个回答2023-08-05 10:23
围观答案出现
查找计算机类的教程,电子书之类的
1个回答2022-06-06 02:57
用超星阅览器找
知网查重附录里的调查问卷算不算
2个回答2022-12-27 00:58
要具体看你学校检测不检测,保持和学校一致就可以了。这样提前检测的结果才会一致。
诸葛神算怎么查不到了?
4个回答2022-12-07 08:16
诸葛神算指的是《三国演义》的诸葛亮吧,你如果是用诸葛神算查不到,我觉得用诸葛亮这个名字就能查到了。
1985年农历6月二十五亥时生女命查八算命
1个回答2022-09-24 03:50
有泰国师傅可预约
就算是一个丑小鸭的丑先查什么部,再查几画
1个回答2023-02-04 04:57
部首:一 笔顺:横折、竖、横、横
查尔斯三世是怎么算一世的
1个回答2023-08-24 09:40
查尔斯三携银世之所以是三世是因为在他之前已经有两个叫查尔斯的国王了,第一个叫察稿查尔斯的国王是一世,以此类推。辩没宴
查资料,写出下列成语的意思神机妙算
1个回答2024-03-07 15:46
神机妙算 shén jī miào suàn 【注释】 神、妙:形容高明;机、算:指计谋。惊人的机智,巧妙的计谋。形容善于估计复杂的变化的情势,决定策略。 【出处】 《后汉书·王涣传》:“又...
全文
热门问答