1.数据结构:存储数据的不同方式
2.算法:
同一个问题的不同解决方法。
算法往往是针对特定数据结构的。
3.如何测算算法的优劣
(1)从时间上测算
i 计算算法的时间差
ii 如果算法的时间差太小,可以使用循环来扩大差异
(2)空间测算
4.Big O
(1)算法执行时间随着问题规模的扩大,时间变化的规律=>就是时间复杂度
时间复杂度不考虑必须要的操作,只考虑因为问题规模的扩大而增加的操作。
(2)空间复杂度同理
问题:
(1)访问数组中某个位置的值 O(1)
(2)访问链表的某个位置的值 O(n)线性扩大
注意:一般考虑"最差"的情况。
不考虑常数项:2n->n
不考虑低次项:n^2+n->n^2