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有关,与具体的数值无关。

  • 相关阅读:
    《入门经典》——8.4
    《A First Course in Probability》-chaper7-期望的性质-期望的性质-协方差
    计算几何讲义——计算几何中的欧拉定理
    Gym
    hdu6053
    ACdream1032(树形DP)
    hdu6040
    hdu6035(树形DP)
    hdu6038
    Codeforces #425 Div2 D
  • 原文地址:https://www.cnblogs.com/WittPeng/p/9131066.html
Copyright © 2011-2022 走看看