二分查找
来源:互联网 发布:mac鼠标滚轮 编辑:程序博客网 时间:2024/06/06 02:18
package lihongmin;public class BinarySearch {/** * 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难(一般直接插入头或尾部即可,但是现在需要按顺序进行插入)。 * 因此,折半查找方法适用于不经常变动而查找频繁的有序列表。 * 二分查找一般有两种方式,递归或者循环中执行 * @param srcArray需要查找的数组 * @param des需要查找的元素 * @return(若元素存在则返回数组下标,否则返回-1) */public static int binarySearch(Integer[] srcArray, int des) { int low = 0; int high = srcArray.length - 1; while ((low <= high) && (low <= srcArray.length - 1) && (high <= srcArray.length - 1)) { int middle = (high + low) >> 1; if (des == srcArray[middle]) { return middle; } else if (des < srcArray[middle]) { high = middle - 1; } else { low = middle + 1; } } return -1;}public static void main(String[] args) {Integer[] arr = new Integer[]{1,6,36,363,2555,7777,29449};int binarySearch = binarySearch(arr,6);System.out.println(binarySearch);}}
阅读全文
0 0
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- python_基础学习_命名规范/编码/注解
- 关于UML箭头符号的意义!
- Asp.Net之Cookie实现登录
- svn 导入 Invalid property value found in dumpstream
- 不安装oracle客户端也能pl/sql developer
- 二分查找
- JAVA MAP 遍历
- Camera 图像处理原理分析
- 学习
- RabbitMQ之路由 fanout方式
- Spring入门之两个bean容器的介绍
- linux虚拟机安装jdk
- Android6.0权限
- 让天堂的归天堂,让尘土的归尘土——谈Linux的总线、设备、驱动模型