二分查找法实验报告

实验报告

课程名称 《算法分析与设计》 实验日期 2020 年 3 月 10日 至 2020年 3 月 17 日
学生姓名 戴昊宇 所在班级 计算机184 学号 2018212212015
实验名称 检索算法(二分查找法)
实验地点 同组人员 无

1.问题
在一个排好序的数组T[1…n]中查找x,如果x在T中,输出x在T的下标j;如果x不在T中,输出j=0.按实验模板编写,“分析”部分仅给出复杂度结果即可。
2.解析
用二分查找法进行数组检索。
3.设计
输入:数组T,下标从 l 到 r;数 x
输出:j     // 如果 x 在 T 中,j为下标;否则为0
1.  l<-1; r<-n
2.  while l<= r do
3.       m<-[(l+r)/2]  
4.       if T[m]=x  then return m   // x恰好等于中位元素
5.       else if T[m]>m  then r<-m-1
6.              else <-m+1
7.      return 0

4.分析
时间复杂度:O(logn)
5.源码
https://github.com/yyqx-1128/text

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值