zoukankan      html  css  js  c++  java
  • 《数据结构》_6集合和搜索

    集合的表示

    顺序搜索

    无序表的顺序搜索

    适用于线性表的顺序存储结构和链式存储结构。

    算法分析:

      (1)搜索成功的情况下平均搜索长度:ASL=1/n ∑(i+1)=(n+1)/2

      (2)搜索失败的情况下平均搜索长度为n。

    有序表的顺序存储

    算法分析:

      (1)搜索成功的情况下:(n+1)/2

      (2)搜索失败的情况下:n/2 +2

    对半搜索

    适用于采用顺序存储结构的有序表。

      每次取的中点都是⌊(low+high)/2⌋,进行比较。

    定理:对半搜索算法在成功搜索的情况下,关键字值之间的比较次数不超过⌊log2n⌋+1。对于不成功的搜索,算法需要做⌊log2n⌋+1或⌊log2n⌋次比较。

    【例】有序表中有80个元素,采用对半搜索成功搜索到某个元素,则最多比较次数为⌊log280⌋+1=6+1=7次,如果搜索失败了,则为6或7次比较。

    定理:对半搜索算法在搜索成功时的平均时间复杂度为O(log2n)

    二叉判定树

    参考博客:https://blog.csdn.net/gogokongyin/article/details/51211296

    只需要记住一句话:判定树的形态只与表结点个数N有关,与具体的数值无关。

  • 相关阅读:
    idea gson使用
    spring对象工具类
    java反射判断对象空字段
    说说沟通乱这件事
    RandomShuffleQueue
    学习材料
    python异常处理
    tensorboard基础使用
    深度学习——特殊应用:人脸识别和神经风格转换[13]
    深度学习——目标检测[12]
  • 原文地址:https://www.cnblogs.com/WittPeng/p/9131066.html
Copyright © 2011-2022 走看看