数组(Arraylist)
-
时间复杂度
查询 o(1) 直接数组下标寻址
增删 o(n) 最优末尾插入 o(1) 最慢头部插入o(n) -
适用场景
多查询,少插入 -
详解
https://www.cnblogs.com/xrq730/p/4989451.html
链表(Linkedlist)
-
时间复杂度
查询 o(n) 链表指针遍历
增删 o(1) 断指针直接 -
适用场景
各类报表,年度数据等
多插入删除, 少查询 -
详解
https://blog.csdn.net/jianyuerensheng/article/details/51204598
栈(Stack)
- 先入后出
-
经典应用
括号匹配 左括号入栈,右括号匹配。
队列(Queue)
- 先入先出
-
经典应用
RocketMQ RabbitMQ等等各类消息队列。
ACM队列和栈的转换, 两个栈 可以转化成队列。
堆(heap)
- 大小根堆
-
应用场景
N个数值中的最大最小值