【查找算法】之折半查找
2017-04-17 11:24
387 查看
折半查找(Binary Search)又称为二分查找,其要求数据序列呈线性结构,也就是经过排序的数据序列。可以使用冒泡排序、快速排序等排序算法,先进行一次排序。
import java.util.*; public class Main { static final int N=5; public static void main(String[] args){ int[] shuzu = {2,8,14,25,36}; for(int k=0; k<N; k++){ System.out.println(shuzu[k]); } int index = BinarySearch(shuzu, N, 36); System.out.println(index); } public static int BinarySearch(int arr[], int n, int target){ int low , mid, high; low =0; high = n-1; while(low <= high){ mid = (low + high)/2; //找到中间位置元素的下标 if(arr[mid] == target){ return mid;//找到返回 下标 }else if(arr[mid] > target){ high = mid-1;//查找左半部分 }else if(arr[mid] < target){ low = mid +1; // 查找右半部分 } } return -1; } }
相关文章推荐
- 查找算法:折半查找
- 查找算法·折半查找
- 查找算法整理(一)---静态查找表:顺序表查找、折半(判定树)查找、静态查找树
- 查找算法—折半查找算法分析与实现(Python)
- 查找算法——折半查找
- 三种静态查找算法:顺序、二分/折半、索引/分块查找
- 查找算法 分享2:折半(二分)查找
- 查找算法--折半查找
- 有序的静态查找表的折半(二分)查找算法
- 2. C#数据结构与算法 -- 查找算法(顺序查找,哈希查找,二分查找(折半),索引,二叉)
- 静态查找---->顺序、折半、分块查找
- 折半查找
- 算法系列(二)查找算法--基本查找和二分查找
- 查找算法--线性结构的查找方法
- 查找算法 分享4:哈希查找
- Java查找算法之折半查找
- Java 折半查找
- 查找算法系列(一):二分查找( 描述+代码)
- 第十四周-线性表的折半查找
- 用Java实现有序数列的折半查找