Java算法-二分查询

二分查找也称折半查找(Binary Search),它是一种效率很高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。

二分查询就是每次遍历时拟定一个中位数,若查找的数小于当次查询的中位数 则右边界等于当此查询的中位数减少-1若查找的数小于当次查询的中位数 则左边界等于当次查询的中位数+1根据左边界右边界进行折半操作
直到匹配正确数

以上是我的理解

模拟一下普通数组遍历速度
在这里插入图片描述
在这里插入图片描述
这是二分查找
在这里插入图片描述
在这里插入图片描述

这就是二分查找的速度…

为什么二分查询的时间远远快于普通遍历的时间?

因为普通遍历是一个个遍历的 如果查找数据过于靠后,那么将浪费很多时间用于遍历前面的资源。但是二分查询每次会进行折半操作,我们都知道,不管数据有多大,进行折半以后数据都将减少一半,只要往复几次就能锁定查找的数据

分析一下在这里插入图片描述
这就是二分查询

猜你喜欢

转载自blog.csdn.net/qq_36008278/article/details/114389527