码迷,mamicode.com
首页 > 其他好文 > 详细

第二章实践报告

时间:2018-10-14 16:58:23      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:实践   复杂度   nbsp   bsp   二分   二分查找   int   存储   位置   

1、实践题目:二分查找

2、问题描述:

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

3、算法描述:

      while(left<=right){   

                //左右比较

               int middle=(left+right)/2;   

               //取中值

               t++;

               //运算次数加一

               if(x==a[middle]){

               //查找值与数组middle位置的值相等时输出

               cout<<middle;

               cout<<t;

}}

4、时间复杂度

      此程序每执行了一次while循环,循环的范围减半,循环内时间复杂度为O(1),最坏情况下算法时间复杂度为O(log n)。

       此程序使用辅助空间存储了上界、下界、中间位置以及比较次数,与问题规模n大小无关,因此空间复杂度为O(1)

5、心得

      在本次实验过程中,与伙伴们相互合作,能从伙伴身上学到自己未能掌握的知识,另外这次实验也能检验到自身学习的进度,方便自己进行复习。

第二章实践报告

标签:实践   复杂度   nbsp   bsp   二分   二分查找   int   存储   位置   

原文地址:https://www.cnblogs.com/dcw1130hhh/p/9786157.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!