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

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

posted @ 2020-03-15 21:25  当然是斗笠呀  阅读(208)  评论(0编辑  收藏  举报