点击进入无广告高清版>>

上集讲了一些经典算法:比如给数组排序,找图的最短路径

而上集没讲的是,算法处理的数据存在内存里的格式是什么?

我们希望数据是结构化的,方便读取

因此计算机科学家发明了 "数据结构"!

上集已经介绍了一种基本数据结构:

数组(Array)也叫列表(list)或向量(Vector)

数组创建时就有固定大小,不能动态增加大小

还有,数组在内存中按顺序存储,在中间插入一个值很困难

链表是一种灵活数据结构,能存很多个 节点 (node)

因为灵活,很多复杂数据结构 都用链表

最出名的是 队列(queue)和 栈(stack)

不同数据结构适用于不同场景

选择正确数据结构会让工作更简单

所以花时间考虑用什么数据结构是值得的

幸运的是,大多数编程语言自带了预先做好的数据结构