java(34):基础算法(3):二分查找法
来源:互联网 发布:詹姆斯17年总决赛数据 编辑:程序博客网 时间:2024/06/05 23:17
日期:2017/11/25
二分查找,折算法。优点是比较次数少,查找速度快,平均性能好,占用系统内存较少;其缺点是要求待查表为有序表,且插入删除困难。
package PrepareTest;//对于一个有序数组,我们通常采用二分查找的方式来定位某一元素,请编写二分查找的算法,在数组中查找指定元素。 public class test03 {public static void main(String[] args) { int A[] = { 4, 4, 5, 5, 5, 5 }; int val = 4; int n = A.length; int result = getPos(A, n, val); System.out.println(result);}private static int getPos(int[] a, int n, int val) {int low = 0,high = n - 1,mid;if(a == null && n == 0){return -1;}while(low < high ){mid = (low + high)/2;if(a[mid] < val){low = mid;}else if(val < a[mid]){high = mid - 1;}// 当第一次找出相等的位置后需要继续向前查找,最后返回第一次出现的位置else if(val == a[mid]){for(int j = mid; j >= 0; j--){if(a[j] != a[mid]){mid = j +1;break;}//处理出现连号的情况时,返回第一个号码的索引else if(a[j] == a[mid]){mid = j;continue;}}return mid;}}return 0;}}
阅读全文
0 0
- java(34):基础算法(3):二分查找法
- java算法基础--二分查找
- 二分查找算法(java)二分搜索
- 基础算法学习(01)-二分查找
- 基础算法系列(二)查找算法之二分查找
- 算法基础(一)------ 二分查找(折半查找)
- java二分查找算法(折半查找算法)实例
- 基础排序算法与二分查找算法Java版本(下)
- 二分查找算法解析(java版)
- 算法Java第一天(二分查找)
- 二分查找算法(Java实现)
- Java 基础 ---二分查找法
- 算法学习(1)二分查找法java版
- 基础算法 二分查找
- 【算法基础】二分查找
- 二分查找--基础算法
- 【算法基础】二分查找
- 基础算法-二分查找
- mysql 数据库服务器忘记了密码,以及中文乱码的解决方案
- Redis之高级特性
- palsquare
- PAT1002. 写出这个数 (20)解题思路
- 算法与数据结构——算法题 29:随机播放音乐(腾讯校招) ? 待解决
- java(34):基础算法(3):二分查找法
- ES 对各字段创建分词 和mapping创建 个人操作记录
- SSH 反向隧道 内网穿透,AutoSSH自动重连
- 亲爱的听众,感谢你。因为相知,才有相伴~
- 算法与数据结构——算法题 27:字符移位(腾讯2017暑期实习生编程题) ? 待解决
- 顶部Snackbar实现
- 阿里巴巴SOA服务化治理方案的核心框架-Dubbo
- Ubuntu14.04 增加开机启动项
- 计算机网络课堂笔记之分类的IP地址