二分法查找
来源:互联网 发布:淘宝ecco鞋代购真假 编辑:程序博客网 时间:2024/05/09 20:16
二分法查找。
二分法查找适用于有序排列的数组。每次从中间开始,在想两边进行查找。
二分法的普通方法实现:
public static void main(String args[]){int []a = {0,1,2,3,4,5,6,7,8,9};System.out.println(find(a,5));}public static int find(int []a, int des){int length = a.length - 1;int len = length / 2;while(len <= length){if(a[len] == des)return len + 1;else if(a[len] < des){len = (length + len)/2;}else if(a[len] > des){length = len;len = len / 2;}}return 0;}
二分法的递归实现
public static int find(int a[], int des){int height = a.length - 1;int middle = height / 2;int low = 0;int n = jisuan(a, low, middle, height, des);return n;}public static int jisuan(int a[], int low, int middle, int height, int des){if(middle < height){if(a[middle] == des)return middle;else if(a[middle] > des){return jisuan(a, low, middle / 2, middle, des);}else if(a[middle] < des){return jisuan(a, middle, (middle + height) / 2, height, des);}}return 0;}public static void main(String args[]){int[] a = {1,2,3,4,5,6,7,8,9};int key = find(a, 6);System.out.println(key);}
0 0
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 小羊生小羊的故事
- Android性能优化
- git常见问题和菜鸟笔记
- java web笔记——JDBC
- 使用Java发送GET、POST请求
- 二分法查找
- git命令行pull,push避免重复输入用户名密码
- Mybatis数据源与连接池
- Eclipse上Spark开发环境搭建
- 已知先序中序求树的高度或叶子数
- jquery遍历table元素
- 父类与子类析构与函数调用关系
- 参数的魅力
- UI_UIToolbar