常见数据结构的特征
Arrary
LinkedList链表首尾相接
Stack栈,和队列相似,先进后出
Heap堆二叉堆
list线性表,0个多个元素组成的有限序列
doubly-linked-list双向链表,每个元素都是一个对象,每个对象都有一个关键字key和两个指针(next和prev)
queue队列,先进先出,并发中使用,可以安全将对象从一个任务传给另一个任务
set集合,保存不重复元素
map 字典,关联数组可以叫做字典或键值对
graph图,使用邻接矩阵和邻接表表示,前者容易实现但是对于洗漱矩阵会浪费较多空间,后者使用链表的方式存储信息但是对于图搜索时间复杂度高
用php实现一个双向队列
$array_shift 头部移出
$array_unshift 头部插入
$array_pop 尾部移出
$array_push 尾部插入