欢迎光临散文网 会员登陆 & 注册

王道计算机考研 数据结构

2023-06-26 11:57 作者:香甜柠黄小番茄  | 我要投稿

算法效率——时间复杂度(事前预估T(n)与n的关系)



例子:

1、逐步递增


1.2_2_算法的时间复杂度 P6 - 04:21


问题规模 n

while循环② 条件判断——n+1次;③④ 计算——n次

T(n) = O(f(n)) = n


二、嵌套循环型


1.2_2_算法的时间复杂度 P6 - 20:12


在while循环中插入一个for循环

外层循环——while循环,n次

内层循环——for循环,n²次

T(n)=O(n)+ O(n²) = O(n²)

结论:

1、顺序执行的代码可以忽略

2、只需分析一个基本操作,分析其执行次数 f(n) 和问题规模 n 的关系

3、多层嵌套循环,只关注最深层循环


三、指数递增型

T(n) = O(x)


四、搜索数字型


输入一个长度为n的数组,乱序存放了1~n,从第一个元素开始找到元素n。

根据输入的flag数组n不一样,循环次数x不一样。

需考虑不同情况:

1、最好时间复杂度:n在第一个 T(n) = O (1)

2、最坏时间复杂度:n在最后 T(n) = O (n)

3、平均时间复杂度:设元素n出现在任意位置的概率都为n/1

x = (1+2+3+…n)*1/n = (1+n)/2

T(n) = O(n)


王道计算机考研 数据结构的评论 (共 条)

分享到微博请遵守国家法律