数据结构论坛

首页 » 分类 » 分类 » 2025考研数据结构笔记二时间复杂度
TUhjnbcbe - 2024/9/2 16:40:00
北京去哪里医院治疗白癜风 https://m.39.net/pf/bdfyy/xwdt/
#数据结构##考研##年考研##计算机考研##考研笔记#

时间复杂度    

    找到一个基本操作(最深层循环)

  计算  分析该基本操作的执行次数*与问题规模n的关系x=f(n)

    x的数量级O(x)就是算法时间复杂度T(n)

    加法规则:O(f(n))+O(g(n))=O(max(f(n),g(n))

  常用技巧  乘法规则:O(f(n))*O(g(n))=O(f(n)*g(n))

    O(1)<O(log2n)<O(n)<O(nlog2n)<O(n2)<O(n3)<O(2n)<O(n!)<O(nn)

    最坏时间复杂度:考虑输入数据“最坏”的情况

  三种复杂度  平均时间复杂度:考虑所有输入数据都等概率出现的情况

    最好时间复杂度:考虑输入数据“最好”的情况

空间复杂度    

    找到所占空间大小与问题规模相关的变量

  普通程序  分析所占空间x与问题规模n的关系x=f(n)

计算    x的数量级O(x)就是算法空间复杂度S(n)

    找到递归调用的深度x与问题规模n的关系x=f(n)

  递归程序  x的数量级O(x)就是算法空间复杂度S(n)

    注:有的算法各层函数所需存储空间不同

  加法规则  O(f(n))+O(g(n))=O(max(f(n),g(n))

常用技巧  乘法规则  O(f(n))*O(g(n))=O(f(n)*g(n))

  常对幂指阶  O(1)<O(log2n)<O(n)<O(nlog2n)<O(n2)<O(n3)<O(2n)<O(n!)<O(nn)

1
查看完整版本: 2025考研数据结构笔记二时间复杂度