zoukankan      html  css  js  c++  java
  • 查找

    查找

    常见的查找算法有“顺序查找”和“二分查找

    1.顺序查找

    顺序查找就是按照从前往后的顺序,将数组中的元素依次与要查找的的数x进行比较。如果数组中的元素是有序的(递增或递减)。顺序查找这个方法的时间复杂度n。

    2.二分查找

    运用二分查找的优势在于它的比较次数少、查找速度快。大家可以看代码理解一下。

    int left=0,right=n-1;
    int find=n //find用来标记找到的位置
    while(left<=right)
    {
    	int mid=(left+right)/2;
        if(a[mid]<x) l=mid+1;//x只能在右半部分 
        if(a[mid]>x) r=mid-1;//x只能在左半部分 
        if(a[mid]==x) break;//找到之后退出循环 
    }	
    while(a[mid-1]==x) mid--;//跳出循环后往前找,看能不能找到与mid一样的数。 
        printf("%d",mid);//输出
    

      

  • 相关阅读:
    继承与 接口
    数组
    字符串加密
    类与对象
    java 方法学习
    课堂练习
    第一次课堂任务记录。整形数字相加合输出
    《大道至简》第二章 读后感
    大道至简第二章
    大道至简第一章
  • 原文地址:https://www.cnblogs.com/weilinxiao/p/11168775.html
Copyright © 2011-2022 走看看