线性搜索
线性搜索技术是最简单的技术。在这种技术中,项目被一个一个地搜索。此过程也适用于未排序的数据集。线性搜索也称为顺序搜索。它被命名为线性,因为它的时间复杂度是 n 的数量级O(n)。
线性搜索技术的复杂性
时间复杂度: O(n)
空间复杂度: O(1)
输入和输出
Input:A list of data:
20 4 89 75 10 23 45 69
the search key 10
Output:
在以下位置找到的物品: 4
算法
linearSearch(array, size, key)
输入 -一个排序的数组,数组的大小和搜索键
输出 - 密钥的位置(如果找到),否则位置错误。
Beginfor i := 0 to size -1 do
if array[i] = key then
return i
done
return invalid location
End
示例
#include<iostream>输出结果using namespace std;
int linSearch(int array[], int size, int key) {
for(int i = 0; i<size; i++) {
if(array[i] == key) //在数组的每个位置搜索关键字
return i; //第一次找到钥匙的位置
}
return -1; //当密钥不在列表中时
}
int main() {
int n, searchKey, loc;
cout << "输入项目数: ";
cin >> n;
int arr[n]; //创建一个大小为 n 的数组
cout << "输入项目: " << endl;
for(int i = 0; i< n; i++) {
cin >> arr[i];
}
cout << "输入搜索键在列表中搜索: ";
cin >> searchKey;
if((loc = linSearch(arr, n, searchKey)) >= 0)
cout << "在以下位置找到的物品: " << loc << endl;
else
cout << "在列表中找不到项目。" << endl;
}
输入项目数: 8输入项目:
20 4 89 75 10 23 45 69
输入搜索键在列表中搜索: 10
在以下位置找到的物品: 4
以上是 线性搜索 的全部内容, 来源链接: utcz.com/z/341480.html