数据结构:存储数据的不同方式:
算法:同一问题不同的解决方法
数组(算法:每次插入需分配新空间):插入慢、查询快
链表(算法:每次插入指针指向即可):插入快、查询慢
如何选择算法:(大O表示法)
1)时间测算:(时间复杂度) Big O
long before =system.currentTimeMullis();
for 循环
long after system.cuurenTimeMullis();
before - after
2)空间测算:
时间复杂度:
时间--规模--变化规律
访问数组某个位置的值
O(1):时间是固定的
访问链表某个位置的值
O(n) :当问题规模扩大,时间成线性变化
求一个数组的平均数:O(n)
求一个数组最大值:O(n)