1链表
链表是物理存储的,不连续,没有顺序的存储结构。数据是通过链表指针地址来查找的,上一个数据指着下一个数据的地址。这样就能形成双向链表,单向链表,循环链表。
优点:不需要初始化容量,可以任意加减元素,添加删除快。
缺点:指针太多,占用空间大。查询慢
2数组
数组在内存上是连续的,数组通过元素下标进行访问,下标从0开始。
优点:查询快,遍历方便
缺点:数组固定后无法扩容。只能存储一种类型的数据。增删慢(需要移动数组的很多元素),查询快。
3栈
栈是一个先进后出的线性表,只能在栈顶操作,不可以在栈底操作。
特点:先进后出
4树
树像一颗倒挂的树。
优点:添加,删除快,经过一系列变动,查询上也有很多优化。例如B+树。
5散列表
散列表是一种hash表,通过key(存储的地址)去找value(值)。查找快。
6堆
堆是一个完全二叉树。堆得每个节点总是不大于或者不小于根节点的值。