数组
- 使用一块连续的内存空间保存数据,长度固定
- 可以通过下标迅速访问一个元素,O(1)
- 但插入和删除数据需要移动大量元素
链表
- 链表中数据不是在内存中连续存储的,而是通过指向下一个元素的指针来联系的。
- 长度不固定
- 访问一个元素需要O(n)
- 但是插入和删除元素十分方便,只需更改指针指向即可。
堆栈
- 是一种后进先出的结构,可以使用数组或者是链表来实现它
- 对于堆栈中的数据的所有操作都是在栈的顶部完成的
队列
- 队列实现了先入先出的语义 。队列也可以使用数组和链表来实现
- 队列只允许在队尾添加数据,在队头删除数据。