您的位置:首页 > 其它

算法课上老师给的标准,用来参考,其实最重要的是态度

2010-09-07 17:37 645 查看
/*
  Name: binarysearch(二分搜索算法)
  Copyright:    bg2bkk 
  Author:       bg2bkk 
  Date: 07/09/10 16:18
  Description: 
        input:非降序排列的n个元素组a[1....n]和元素x
        output:m if    x=a[m]
                0   if  x不存在 
*/
/*
    算法主体 
    binarysearch(l,r)
    {
            if   l>r  then return 0;
            else  
                   m=(l+r)/2;
                   if(x==a[m])  return m;
                   if(x<a[m])   return binarysearch(l,m-1);
                    else        return binarysearch(m+1,r);  
    }
*/
#include<iostream>
using namespace std;
int m;
int binarysearch(int *a,int l,int r,int x)
    {
            if(l>r)     return 0;
            else  
                   m=(l+r)/2;
                   if(x==a[m])  return m;
                    else  if(x<a[m])   return binarysearch(a,l,m-1,x);
                    else      return binarysearch(a,m+1,r,x);  
    }
int main()
{
    int a[11]={0,1,2,3,4,5,6,7,8,9,10};
    int n;
    cin>>n;
    n=binarysearch(a,1,10,n);
    cout<<a
<<endl;
    
    system("pause");
}


这个二分算法在今天看来是非常之easy的,但是据说1946年的时候就有了二分搜索的想法,但是直到1962年才出现了第一个正确的二分搜索算法,把这个贴上来重点不在其算法,而在于今天算法课上老师给的这个标准写法。这个年代,标准才是最重要的。感谢我的算法老师潘海为。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: