数据结构与算法1—基本概念与指标

基本概念

算法判别指标

空间复杂度 空间复杂度S(n) —— 根据算法写成的程序在执行时 根据算法写成的程序在执行时
占用存储单元的长度。这个长度往往与输入数据的
规模有关。空间复杂度过高的算法可能导致使用的
内存超限,造成程序非正常中断。

时间复杂度 时间复杂度T(n) —— 根据算法写成的程序在执行时 根据算法写成的程序在执行时
耗费时间的长度。这个长度往往也与输入数据的规
模有关。时间复杂度过高的低效算法可能导致我们
在有生之年都等不到运行结果。

最坏情况复杂度 T worst ( n )

平均复杂度 T avg ( n )

复杂度的渐进表示法

复杂度上界:T(n) = O(f(n))  
复杂度下界: T(n) = Ω(g(n)) 
复杂度上界和下界都是这个: T(n) =  Θ(h(n))  

小窍门

若两段算法分别有复杂度T 1 (n) = O(f 1 (n))  和T 2 (n) =
O(f 2 (n)) ,则T 1 (n) + T 2 (n) = max( O(f 1 (n)), O(f 2 (n)) )
T 1 (n)*T 2 (n) = O( f 1 (n)   f 2 (n) )
若T(n) 是关于n 的k 阶多项式,那么T(n)= Θ(n k )
 一个for循环的时间复杂度等于循环次数乘以循环体
代码的复杂度
循环的时间复杂度等于循环次数乘以循环体
代码的复杂度
if-else  结构的复杂度取决于if的条件判断复杂度
和两个分枝部分的复杂度,总体复杂度取三者中最大

分而治之

将一个大问题化成几个小问题去处理

在线处理

“ 在线”的意思是指每输入一个数据就进行 的意思是指每输入一个数据就进行 即时处理,在任
何一个地方中止输入,算法都能正确给出当前的解。

猜你喜欢

转载自blog.csdn.net/weixin_40642306/article/details/80618860