首页 > 编程知识 正文

简述顺序查找、二分法查找优缺点,二分查找和二叉排序树的查找,其时间复杂度是否总相同

时间:2023-05-05 16:36:07 阅读:237437 作者:1239

1.问题

写出两种检索算法:在一个排好序的数组T[1…n]中查找x,如果x在T中,输出x在
T的下标j;如果x不在T中,输出j=0。

2.分析
两种检索算法,我们选择1.顺序查找法。2.二分查找法。

3.伪代码

顺序查找法:for (int i = 0; i < n; i++) {if (T[i] == x) {printf("%d", i);flag = 1;}}二分查找法:int top = 0, end = n - 1, mid;int find = -1;while (top <= end) {mid = (top + end) / 2;if (T[mid] == x) {find = mid;break;}else if (T[mid] > x) {end = mid - 1;}elseend = top + 1;}

4.分析
顺序查找法
复杂度:O(n)
二分查找法
复杂度:O(log n)

5.源码
https://github.com/jiachenwei123/jiajia/tree/master

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。