数组,链表,二叉树,红黑树,散列表。
指导你编写出性能更优秀的代码
评判别人写的代码的好坏。
时间复杂度:代码的执行耗时
空间复杂度:代码运行所需要占用的内存空间大小
什么是时间复杂度?
时间复杂度就是算法的执行时间与数据规模之间的增长关系。
常见的时间复杂度:O(1)、O(n)、O(n^2)、O(logn)、O(n*logn)
例子:求1~n的和。
T(n)=(3n+3)*1ms 低阶、 常量和系数不影响趋势。可以改为:T(n)=O(n)
大O表示法:不具体表示代码真正的执行时间,而是表示代码执行时间随数据规模增长的变化趋势
T(n)与代码的执行次数成正比(代码行数越多,执行时间越长)