基本思想:
线性查找也称顺序查找,是一种最简单的查找方法,只需要将待查找元素与数组每个元素逐一比较,查找成功返回数组对应下标即可,若查找失败则返回-1
若待查找元素在数组中存在多个,则使用一个数组或集合来存储多个元素的下标并返回即可
代码实现:
//线性查找
public int seqSearch(int value) {
for (int i = 0; i < array.length; i++) {
if (array[i] == value) {
return i;
}
}
return -1;
}
//线性查找(可查找多个相同元素)
public HashSet<Integer> superSeqSearch(int value) {
HashSet<Integer> hashSet = new HashSet<>();
for (int i = 0; i < array.length; i++) {
if (array[i] == value) {
hashSet.add(i);
}
}
return hashSet;
}
时间复杂度:O(n)