数据结构Java版之查找算法(三)
关于查找算法,这里只进行两个算法的说明。包括 顺序查找 和 折半查找。
顺序查找:
顺序查找常用于未排序的数据中。查找速度较慢,只能应用于较小的数据量。
public int sequentialSearch(int[] list, int ele) { for(int i = 0; i < list.length; i ++) { if(ele == list[i]) return i; } return -1; }
折半查找:
比较快的查找算法,但也仅限于对排好序的数据进行查找。
public int binarySearch(int[] list, int ele) { int low = 0, high = list.length - 1, mid; while(low < high) { mid = (low + high) / 2; if(ele == list[mid]) return mid; if(ele > list[mid]) low = mid + 1; if(ele < list[mid]) high = mid - 1; } return -1; }