线性查找
Coddy C++ 数组 课程的第 9 课,共 26 课。
要在数组中查找所需元素,我们会使用一种简单的方法,叫作线性查找。
顾名思义,它需要线性时间,也就是 O(n) 时间来查找元素,因为我们必须遍历整个数组,才能找到所需的数字。
假设 k 是我们要查找的元素,并且给定了一个数组。我们必须遍历整个数组,如果找到了该元素,就打印 YES,否则打印 NO。
for(int i=0;i<n;i++){
if(arr[i]==k){
cout<<"YES"<<endl;
}else{
cout<<"NO"<<endl;
}
}分析时间复杂度
最好情况下,要查找的元素位于第一个索引,此时需要常数时间。最坏情况下,如果元素位于最后一个索引,那么时间复杂度就是 O(n)。因此,线性查找的时间复杂度是 O(n),其中 n 是数组中的元素个数。
挑战
给定一个数组,求数组中所有元素的和。
亲手试试
#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
int arr[n];
for(int i=0;i<n;i++){
cin>>arr[i];
}
//Write your code here
return 0;
}
C++ 数组中的所有课
自己练习: C++ 在线编译器