码迷,mamicode.com
首页 > 编程语言 > 详细

算法第二章上机实践报告

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

标签:div   color   ons   算法   核心   开始   bsp   int   lse   

1.实践题目

二分查找

2.问题描述

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

3.核心代码

int BinarySearch(int a[],const int&x,int n){
    int left=0,right=n-1;
    while(left<=right)
    {    
        l++;
        int middle=(left+right)/2;
        if(x==a[middle])
            return middle;
        if(x>a[middle])left=middle+1;
        else right=middle-1;
    }
    return -1;
}

4.时间复杂度&空间复杂度

空间复杂度o(1),时间复杂度o(log2n),题目要求n<=1000,数组提前开了1000,所以o1。然后算法核心就是二分法,不过在二分的过程中加了个记数器来记比较次数。

5.

一开始记数的时候出现了点问题,后面很快找到bug解决了。

 

算法第二章上机实践报告

标签:div   color   ons   算法   核心   开始   bsp   int   lse   

原文地址:https://www.cnblogs.com/crisp/p/9784815.html

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