一.查找算法
1.1 线性查找
1.2 二分查找
a).适用于有序数组,效率比线性查找高。b).有序数组较之无序数组,查询速度快,但插入效率低,因插入新数据时,需要挪动后边的数据以腾开空间;
而删除效率都低。。因都需向前移动来填补空缺的数据项。
示例程序:
//二分查找,针对有序数组
public static int binarySearch(int forSearch) {
int lowerBound = 0;
int upperBound = b.length-1;
int curIn;
while (true) {
curIn = (lowerBound + upperBound)/2;
if (b[curIn] == forSearch) {
return curIn;
}else if (lowerBound > upperBound) {
return forSearch;
}else if (b[curIn] < forSearch) {
lowerBound = curIn + 1;
} else {
upperBound = curIn - 1;
}
}
}