离散数学课件:Complexity of Algorithms.pptxVIP

  • 10
  • 0
  • 约小于1千字
  • 约 10页
  • 2021-11-30 发布于安徽
  • 举报
Time Complexity of Algorithms 算法的时间复杂度 Time Complexity (时间复杂度) 一个算法的时间复杂度,就是考虑算法所需要的时间如何随着输入数据量的变化而变化。 实际上,时间复杂度考虑算法所需的基本运算次数如何随着输入数据量的变化而变化。 算法的基本运算和这个算法有关,可以是整数比较,整数加法,整数除法等等 一般而言,算法所需的基本运算次数不仅和输入数据量有关,和输入数据的具体取值也有关,所以我们有以下两种时间复杂度 最坏情形复杂度 (Worst-Case Complexity),输入数据量给定,在最坏情形下(最坏情形指的是此时所需要的运算量是最多的),该算法的基本运算次数 平均情形复杂度 (Average-Case Complexity),输入数据量给定,在平均情形下该算法的基本运算次数,此时我们需要考虑所有的情况的运算次数,再求一个平均值 Time Complexity (时间复杂度) 平均比较次数为 算法复杂度常用术语 常量复杂度 对数复杂度 线性复杂度 线性对数复杂度 多项式复杂度 指数复杂度 阶乘复杂度 易解问题 (tractable problem) 与 难解问题 (intractable problem) 如果一个问题,现在存在一个 最坏情形复杂度为多项式复杂度 或 更好 的解决算法,则称这个问题是易解的 (tractable)。这样的问题也称为 P 问题 如果一个问题,它没有最坏情形复杂度为多项式复杂度或更好的解决算法,则称这个问题是难解的 (intractable)。 常见算法的时间复杂度

文档评论(0)

1亿VIP精品文档

相关文档