算法第二章上机实验报告

题目:二分查找

输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。

大概思路:我们就书中十八页二分搜索技术给出的的代码进行改写,用了函数调用的方法。主函数构建了一个数组,存储输入的数字,接着调用改写后的二分查找方法,返回x所在的下标以及比较次数。而我在其中担任的是在旁看如何实现,并看看是不是有错。

过程中遇到的问题:一开始将sum(用于记录比较次数)置于while方法的最后面,发现比较次数比正确结果小1。我们自己思考一阵,看不出问题来,将我们的代码给一个同学看,他也没发现错误;于是我们和隔壁组对比代码,发现是sum++的位置错了,因为while这段代码中出现了return,如果将sum++放在后面,是无法得到比较的正确次数的。

这道题虽然简单,但是代码的位置要是放错了,结果可能就不对了。在打代码前,我们应该先理清思路,分工明确,不然打代码错了都未发觉。另外,在自己代码错了后,先进行思考,小组讨论,是在无思路时要及时向其他人请教,明白是哪里出现了错误。

                                     20171003405陈杰玲

posted @ 2018-10-21 22:01  我要吃鸡腿  阅读(147)  评论(0编辑  收藏  举报