数据结构与算法 : 算法与时间复杂度

算法的五大特性 :

1. 输入, 0 个或多个

2. 输入 1 个或多个

3. 有穷性

4. 确定性

5. 可行性

如果一个算法执行效率(步骤) 标记成 T(n) = n^3 * 2  ,那么这个2 可以看作一个常数 k ,就可以写成 T(n) = n^3 * k 

可以看出,如果改变常数k的值,并不会影响 T(n) 这个函数在坐标轴的走势,所以可以忽略掉这个常数,把它表示成 g(n) = n^3 

那么 g(n) = n^3 就是 T(n) = n^3 * k 的 渐进函数 可以记作 T(n) = O(g(n)) 那么这个式子 就是这个算法的时间复杂度

算法完成最少需要多少基本操作,叫最优时间复杂度

算法完成平均需要多少基本操作,叫平均时间复杂度

算法完成最多需要多少基本操作,叫最坏时间复杂度

平时所说的时间复杂度,即最坏时间复杂度

时间复杂度基本计算规则:

1. 基本操作,基本语句,时间复杂度为 O(1)

2. 顺序结构, 时间复杂度按 加法 计算

3. 循环结构, 时间复杂度按 乘法 计算

4. 分支结构, 取最大值 (即分支里面时间复杂度最坏的那条)

5. 判断算法效率时,往往只需要关注操作数量的最高次项

6. 一般分析时所称的时间复杂度都是最坏时间复杂度

posted @ 2018-05-30 15:46  cccy0  阅读(544)  评论(0编辑  收藏  举报