算法设计分析作业(两种检索方法(遍历检索+二分检索))

1. 问题

写出两种检索算法:在一个排好序的数组T[1..n]中查找x,如果x在T中,输出x在T的下标j;如果x不在T中,输出j=0.按实验模板编写,“分析”部分仅给出复杂度结果即可。

2. 解析

常规检索算法:因为数组T已经排好序了,因此通过遍历,当T[i] > x时,仍然没有找到T[k] == x(k < i),说明T数组中不存在,T[i] == x

二分检索算法:因为数组T的有序性,且已知X的值,我们可以不断二分从而缩小T[i] == x可以存在的区间。

3. 设计

4. 分析

常规检索时间复杂度:O(n)

二分检索实践复杂度:O(logn)

5. 源码

https://github.com/BambooCertain/Algorithm.git

原文地址:https://www.cnblogs.com/DreamACMer/p/12500157.html