二分收索技术

原创 2018年04月15日 14:40:40
递归算法
#include<bits/stdc++.h>
using namespace std;
const int M=10000;
int x,n,i;
int s[M];
int binaryseach(int s[],int x,int low,int high)
{
    if(low>high) return -1;
    int middle=(low+high)/2;
    if(x==s[middle])
            return middle;
        else if(x<s[middle])
            return binaryseach(s,x,low,middle-1);
        else return binaryseach(s,x,middle+1,high);
    }

int main()
{
    cout<<"请输入数列中元祖的个数n为:";
    while(cin>>n)
    {
        cout<<"请依次输入数列中的元素:";
        for(i=0;i<n;i++)
        {
            cin>>s[i];
        }
        sort(s,s+n);
        cout<<"排序后的数组为";
        for(i=0;i<n;i++) cout<<s[i]<<" ";
        cout<<endl;
        cout<<"请输入查找后的元素";
        cin>>x;
        i=binaryseach(s,x,0,n-1);
        if(i==-1)
            cout<<"这里没有要查找的元素,快滚吧";
        else
            cout<<"元素在"<<i+1<<"位"<<endl;
    }
    return 0;
}

普通算法

#include<bits/stdc++.h>
using namespace std;
const int M=10000;
int x,n,i;
int s[M];
int binaryseach(int n,int s[],int x)
{
    int low=0,high=n-1;
    while(low<high){
    int middle=(low+high)/2;
    if(x==s[middle])
            return middle;
        else if(x<s[middle])
            high=middle-1;
        else low=middle+1;
    }
    return -1;
}

int main()
{
    cout<<"请输入数列中元祖的个数n为:";
    while(cin>>n)
    {
        cout<<"请依次输入数列中的元素:";
        for(i=0;i<n;i++)
        {
            cin>>s[i];
        }
        sort(s,s+n);
        cout<<"排序后的数组为";
        for(i=0;i<n;i++) cout<<s[i]<<" ";
        cout<<endl;
        cout<<"请输入查找后的元素";
        cin>>x;
        i=binaryseach(n,s,x);
        if(i==-1)
            cout<<"这里没有要查找的元素,快滚吧";
        else
            cout<<"元素在"<<i+1<<"位"<<endl;
    }
    return 0;
}


迭代顺序查找、递归顺序查找、二分查找

  • 2010年06月02日 22:47
  • 136KB
  • 下载

二分收索法

  • 2013年07月08日 14:44
  • 2.44MB
  • 下载

使用迭代器进行二分搜索

我的主力博客:半亩方塘 使用迭代器进行二分搜索是迭代器运算的一个经典案例之一,二分搜索是指在给定的 有序序列 中查找某个想要的元素的过程: 首先给出二分搜索的查找范围,然后通过计算得到所给范围中的...
  • gcvdsvb
  • gcvdsvb
  • 2014-04-18 15:31:03
  • 1047

分治法实现二分搜索(c语言)

  • 2013年01月03日 20:32
  • 10KB
  • 下载

c++实现二分搜索算法分析与设计分治算法

  • 2010年04月18日 21:03
  • 887KB
  • 下载

收索资源好用的网盘搜索引擎

胖次搜索OPanc.cc-胖次网盘搜索 - 胖次分享社区 - 我们... 西林街O西林街 :: 全能型网盘搜索引擎,更是网盘搜索... 吸盘O吸盘网,网盘搜索引擎,支持百度网盘(百度云... 我的...
  • u011599639
  • u011599639
  • 2017-04-16 10:10:11
  • 1092

phoenix索引

phoenix可以让我们像使用传统的关系型数据库一样,来操作HBase。目的是降低hbase的使用难度。phoenix也可以像关系型数据库一样,来创建索引,增加访问速度。  我有一个MYDB.T1表...
  • u014468095
  • u014468095
  • 2018-01-28 20:10:33
  • 25

sql sever 数据库文件收索操作

为什么会有数据库收索操作,是因为数据库在使用过程中,他会先占领一块磁盘,再在磁盘中写数据。在建立数据库和数据库属性->文件,会有自动增长的比例。当数据库大小为10G的时候以百分之10的速度增长,那么就...
  • u014693104
  • u014693104
  • 2017-06-06 16:54:44
  • 283

百度地图(二)全城搜索,详情搜索,附近搜索

布局:     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent" ...
  • LUFANZHENG
  • LUFANZHENG
  • 2015-05-22 10:41:30
  • 535

迅雷收索下载工具

  • 2014年11月05日 20:27
  • 888KB
  • 下载
收藏助手
不良信息举报
您举报文章:二分收索技术
举报原因:
原因补充:

(最多只允许输入30个字)