常见对象_数组高级二分查找原理图解
来源:互联网 发布:淘宝短连接转化 编辑:程序博客网 时间:2024/05/22 06:52
package cn.itcast_04;/* * 查找: * 基本查找:数组元素无序(从头找到尾) * 二分查找(折半查找):数组元素有序 * * 分析: * A:定义最大索引,最小索引 * B:计算出中间索引 * C:拿中间索引的值和要查找的值进行比较 * 相等:就返回当前中间索引 * 不相等: * 大左边找 * 小右边找 * D:重新计算出中间索引 * 大左边找 * max = mid - 1; * 小右边找 * min = mid + 1; * E:回到B的位置 */public class ArrayDemo {public static void main(String[] args) {// 定义一个数组int[] arr = { 11, 22, 33, 44, 55, 66, 77 };// 写功能实现int index = getIndex(arr, 33);System.out.println("index:" + index);index = getIndex(arr, 3393);System.out.println("index:" + index);}/* * 两个明确: 返回值类型:int 参数列表:int[] arr,int value */public static int getIndex(int[] arr, int value) {// 定义最大索引,最小索引int max = arr.length - 1;int min = 0;// 计算出中间索引int mid = (max + min) / 2;// 拿中间索引的值和要查找的值进行比较// 不相等:while (arr[mid] != value) {if (arr[mid] > value) {max = mid - 1;} else if (arr[mid] < value) {min = mid + 1;}// 加入判断if (min > max) {return -1;}// 重新计算出中间索引mid = (max + min) / 2;}return mid;}}
0 0
- 常见对象_数组高级二分查找原理图解
- Java数组-二分查找原理
- 查找_二分查找
- 二分查找图解
- 韩顺平_轻松搞定网页设计(html+css+javascript)_第28讲_js二维数组_js冒泡排序_二分查找_学习笔记_源代码图解_PPT文档整理
- java面试题9--数组高级-二分查找
- 20170927_二分查找
- 集合框架_对象数组的内存图解
- 查找算法_二分查找
- 算法学习---对象类型的数组二分查找实现
- 常见对象_StringBuffer、数组高级以及Arrays、Integer、Character总结
- 01_查找算法_顺序查找_二分查找
- 数组-二分查找
- 二分查找 字符串数组
- 数组与二分查找
- 数组(二分查找)
- 二分查找、数组合并
- 二分查找,数组
- CMSIS-RTOS 中断处理Interrupt Handling
- 桌面远程连接ubuntu(x.shell工具)
- KDB调试Linux4.2.6内核过程记录
- 用户有connect,resource,dba角色权限后回收dba权限导致无UNLIMITED TABLESPACE权限造成业务中断
- java基础--正则表达式
- 常见对象_数组高级二分查找原理图解
- Java及Jquery获取屏幕分辨率的实现代码
- struts2标签实现两个值相乘
- 商城----项目宏观(1)
- Elicpse使用技巧-打开选中文件文件夹或者包的当前目录
- 母函数——找单词(hdu2082)
- PYTHON文件学习
- telnet: connect to address 127.0.0.1: Connection refused解决
- 单一原则