JAVA 二分查找?

二分查找的原理是怎样的?麻烦传个例字,,
2024-12-26 18:14:30
推荐回答(3个)
回答1:

二分查找原理,取一段已经排好序的数据段,先将该数据段从中间切割开,用需要查找的数据与该数据段的1/2处的数据进行比较,依此类推

如,有1-100数据,需要查找20,首先将100/2与20比较,20<100/2,在将100/2/2与20比较。。。。直到找出20,此方法操作速度较快,不过由于针对必须是已经排好序的数据段进行操作,使用较少,推荐冒泡法

JAVA中对数据段(数组,集合)进行操作的方法大多都封装与java.util.Collections;类下边,JAVA开源,楼主有兴趣可以去看看他的源码,算法相当之精辟,也可以与我进行交流,QQ:1101047

回答2:

原理同上
实例:
10 5 15 6 88 555 20
排序后的数
5 6 10 15 20 88 555
查找10的步骤:
选中间数 15
比较15和10后知道在15的左边
再从5 6 10中选中间数6(15在上一轮比较中比过了,故把靠近15左边的第一个作为最后一个元素)
比较6和10后知道在6的右边
由此得出10的位置

回答3:

2分查找法原理
先进行排序;
接着去数组中间的值比较,如果等找到,小的话取坐标数组比较,取右边数组比较;
将取出的数组的中间值去比较……重复上述步骤。