查找算法总结
查找算法:顺序查找、二分查找、分块查找、二叉查找树、B树、B+树 一、二分查找(常规) 题目描述: (牛客网http://www.nowcoder.com/practice/28d5a9b7fc0b4a078c9a6d59830fb9b9?rp=1&ru=/activity/oj&qru=/ta/2016test/question-ranking) 对于一个有序数组,我们通常采用二分查找的方式来定位某一元素,请编写二分查找的算法,在数组中查找指定元素。 给定一个整数数组 A 及它的大小 n ,同时给定要查找的元素 val ,请返回它在数组中的位置(从0开始),若不存在该元素,返回-1。 若该元素出现多次,请返回第一次出现的位置 。 测试样例: [1,3,5,7,9],5,3 返回:1 public class BinarySearch { public int getPos(int[] A, int n, int val) { // write code here //递归实现 //return binarySearch(A, val, n, 0); //非递归实现 return binarySearch2(A, val, n); } //递归实现 public int binarySearch(int[] pA, int pval, int high, int low){ int