链表
- 添加和删除比较方便, 只需改变指针指向, 删除时不会立即释放内存, 而是在用到此空间时才会覆盖
- 访问耗时, 要从第一个数据开始, 顺着指针顺序访问
- 分散存储于内存中, 不必是连续空间
数组
- 添加和删除耗时, 比如添加, 要把新数据之后的数据一个一个后移, 再把这个新数据放入刚刚腾出来的地方
- 访问方便, 可通过下标算出
- 存储在内存的连续空间内
栈
- 先进后出, 类似弹夹中的子弹
队列
- 先进先出, 类似排队买东西
哈希表
- 数组与链表结合体
堆
- 适用于取出最小的值
- 每个节点最多有两个子节点, 子节点必须大于父节点, 排列顺序为从上到下, 同一行为从左到右
- 取出顶端数据是, 优先把最后的数据移到顶端再排序
二叉查找树
- 每个节点最多两个子节点
- 每个节点的值均大于其左子树任意一节点值, 小于其右子树任意一节点值