【数据结构与算法】二分查找
来源:互联网 发布:coc黑水罐升级数据 编辑:程序博客网 时间:2024/05/16 00:33
二分查找 是logn的查找算法(前提已排序)
package main;/** * *二分查找在事先排序的前提下的时间复杂度为logn,低于顺序查找 */public class Algorithm {//递归实现,思路比较清晰,如果l == h,说明查到底了,如果还不等说明没有,否则,就递归找左和右,检查左和右的结果。public static int binarySearch(int[] array ,int k){return search(array, 0, array.length - 1, k);}private static int search(int[] array ,int low, int high, int k){if (low == high) {if (array[low] == k) {return low;}else {return -1;}}else {int middle = (low + high) / 2;int l = search(array, low, middle, k);int r = search(array, middle + 1, high, k);if (l != -1) {return l;}else if (r != -1) {return r;}else {return -1;}}}//非递归实现,当l<h时,说明没有找到,返回-1,否则就进入循环体,看中间,决定找左还是右。public static int binarySearch1(int[] array ,int k){int low = 0, high = array.length - 1;while(low <= high){int m = (low + high) / 2;if(array[m] == k){return m;}else if (array[m] > k) {high = m - 1;}else {low = m + 1;}}return -1;}}
0 0
- 【数据结构与算法】二分查找
- 数据结构与算法------二分查找
- 【数据结构与算法】二分查找
- 【数据结构与算法】二分查找
- 数据结构与算法,二分查找
- 数据结构与算法(二分查找算法)
- python数据结构与算法28 二分查找
- 【数据结构与算法】九 二分查找
- 数据结构与算法之二分查找
- 数据结构与算法(10)二分查找
- Java数据结构与算法之二分查找
- 数据结构与算法之二分查找
- Java数据结构与算法之【二分查找】
- 数据结构与算法之二分查找
- java数据结构与算法-递归二分查找
- 数据结构与算法之二分查找
- 数据结构与算法之二分查找
- 【数据结构与算法之查找算法二】二分查找
- 关于memcached 总结
- linux环境消息队列
- new 和malloc relloc
- [SPOJ8222]NSUBSTR - Substrings(后缀自动机)
- 嵌入式软件入门必读,做好成为嵌入式软件大咖的准备
- 【数据结构与算法】二分查找
- 元素marign与padding的百分比设置
- docker 的自动构建
- DIV+CSS学习笔记总结篇
- Android开发传感器概述
- Android Https相关完全解析 当OkHttp遇到Https
- JavaScript常用的代码片段
- MYSQL分区表测试
- MySQL统计函数GROUP_CONCAT使用及报错分析