zoukankan      html  css  js  c++  java
  • 查找算法:顺序查找

    顺序查找

    int Search_seq(SSTable ST, KeyType key) {
      for(int ST.length; i>=1; i++) {
        if (ST[i].key == key) return i;
      }
      return 0;
    }
    

    在以上查找过程中, 每一步都要检测整个表是否查找完毕,即每步都要判断i<ST.length条件是否满足
    改进方法是查找之前先对ST[0].key赋值为待查找的key,ST[0]起到 监视哨的作用

    int Search_seq(SSTable ST, KeyType key) {
      ST[0].key = key;
      int index = ST.length;
      while(ST[index] != ST[0].key) {
        index--;
      }
      return index;
    }
    

    算法分析
    时间复杂度:平均查找长度 ASL=(frac{1}{n}sum^{n}_{i=1}{i})=(frac{n+1}{2})
    优点:1)数据可以无序,2)可顺序存储,也可链式存储
    缺点:平均查找长度较大,查找效率较大,所以当n很大时,不宜采用顺序查找

    步履不停
  • 相关阅读:
    Bootstrap/Font-Awesome/sweetalert插件
    网络编程
    异常处理
    再看属性查找
    元类
    面向对象中的一些内置方法
    反射
    内置函数
    绑定方法与非绑定方法
    多态与鸭子类型
  • 原文地址:https://www.cnblogs.com/yuanyunjing/p/14913228.html
Copyright © 2011-2022 走看看