1.什么是数据结构?
存储数据的不同方式
2.什么是算法?
同一个问题的不同解决方法
算法往往是针对数据结构的
3.如何测算算法的优略
3.1 时间测算
计算算法时间差
幅度不够循环来凑
(实际执行起来可能计算机计算速度非常快,计算所需时间往往是0ms或者1ms,打印出来往往都差不多,所以要看出差别的话就用循环来看计算时间)
3.2 空间测算
4.Big O
时间复杂度:时间针对于问题规模的变化而变化的一个规律
空间复杂度:空间针对于问题规模的变化而变化的一个规律
例子:
查找链表某个位置的值的时间复杂度?
答案:O(n)
为什么?
因为查找链表只能从头节点一个个的往后查,所以为了找到第i个结点,需要用i-1个程 序 步,因此,它们的时间复杂度是O(n)
查找数组某个位置的值的时间复杂度?
答案:O(1)
为什么?
随着数组规模的扩大,查找数组某个位置是直接计算一个偏移量,所以时间复杂度为O(1)
本篇文稿为观看马士兵老师视频所作笔记
马老师网站:http://www.mashibing.com