- 线性表:数组,链表,队列,栈
- 非线性表:二叉树、堆、图
- 数组:数组是一种线性表数据结构,它用一组连续的内存空间,来存储一组具有相同类型的数据
- 内存空间连续
- 查找根据下标可随机访问,时间复杂度为O(1),但是插入和删除低效。
- 链表
- 链表在内存空间可连续、亦可不连续
- 链表中的每一个节点都包括数据和指向下一个地址的指针
- 查找数据麻烦,时间复杂度为O(n),但是数据的删除和插入方便
- 栈
- 栈是一种先入后出的逻辑结构,每次新加入的元素都会先拿走
- 队列
- 队列是一种先入先出的逻辑结构,对元素的操作分别在对头和队尾,元素的插入在队尾,元素的删除在对头
- 队列是一种先入先出的逻辑结构,对元素的操作分别在对头和队尾,元素的插入在队尾,元素的删除在对头