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很大时,不宜采用顺序查找

    步履不停
  • 相关阅读:
    python day01
    Mac上安装pexpect
    raid
    SSL证书制作
    linux grep命令详解
    第一轮迭代小组成员分数分配
    M1事后分析报告(Postmortem Report)
    软件发布说明
    测试报告
    week 9 scenario testing
  • 原文地址:https://www.cnblogs.com/yuanyunjing/p/14913228.html
Copyright © 2011-2022 走看看