二分查找
发布时间:2023-02-20 07:45:22 145
相关标签: # 数据
如果要在一堆有序的数列中去查找是否有自己想找的数字,如果一个一个去找,数据变大就不好找了。但是如果使用二分查找就会很方便。
例如你要从2的32次方查找,最坏的情况一个一个找就要找2的32次方才能找到,而二分查找最坏只需32次。
首先第一步就是找中间值,这时候相当于将范围减半,如果你比这个值大,那就在中间值到最大值之间,再去找这个新范围里的中间值,再通过这个方法使得范围减半,直到最后缩小到一个为止。
我更喜欢把它理解为下限和上限,初始的上下限就是最大值和最小值,当你求出中间值比你要找的数大,说明上限变成了中间值-1,如图写出代码。找的值就是新范围最大值最小值的平均数,目的就是每次让范围减半,故叫做二分查找。
当然如果是个乱序数列也可以先用冒泡排序再使用二分查找,但是不能找出相应的坐标,因为冒泡排序打乱了原来的坐标了。
文章来源: https://blog.51cto.com/u_15930338/6007983
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报