数据结构和算法题解

数据结构和算法题解


1. 复杂度分析:如何分析算法的执行效率和资源消耗? #

答:通过复杂度分析来评估算法的执行效率和资源消耗:

  • 渐近时间复杂度分析来评估算法执行效率:找到影响数据规模的影响因子、找循环、嵌套,然后根据加法法则和乘法法则算出时间函数,忽略常数确定量级。时间复杂度一般有这些:常量阶O(1)、对数阶O(logn)、线性阶O(n)、线性对数阶O(nlogn)、平方阶O(n^2)。
  • 资源消耗分析来评估资源消耗:找到影响数据规模的影响因子(一般是输入)、关注算法在执行过程中所需的额外存储空间、以及这些存储空间跟影响因子是否有成比例增长关系,确定量级。

详细知识体系见 算法复杂度分析

2. 复杂度分析:浅析最好、最坏、平均、平摊时间复杂度 #

答:如下:

  • 最好情况时间复杂度就是,在最理想的情况下,执行这段代码的时间复杂度。
  • 最坏情况时间复杂度就是,在最糟糕的情况下,执行这段代码的时间复杂度。
  • 平均情况时间复杂度就是,就是算各种情况时间和概率的加权平均,然后忽略常数确定量级,算出这段代码的时间复杂度。
  • 平摊时间复杂度,基于摊还分析、分析算法中所有操作的平均时间;与一般的平均分析法不同,它不涉及概率的分析,可以保证最坏情况下每个操作的平均性能。

详细知识体系见 算法复杂度分析

© 2024 lyremelody.cn All Rights Reserved
访问量: