数组和链表实现队列哪个快
数组的特点
- 数组的存储时连续的
- 操作中push ,pop 的速度是比较快的。O(1)
- unshift, shift 的速度比较慢 时间复杂度为O(n)
- 根据索引查询的速度也很快 时间复杂度 O(1)
链表的特点
- 链表的存储时零散的存储
- 只能拿到head 要查询的时候,比较慢 时间复杂度为O(n)
- 不管时从链表head 还是 tail 取值 比较快 时间复杂度 O(1)
- 获取链表的length 慢 时间复杂度为O(n)
在这里顺便说下其他几个类型的存储特点
- 对象Object 存储时无序的
- Set 储存时无序的
- Map 储存时 有序的
- 数组 有序
- 链表 有序
根据数组和链表的特点,得出结论 用链表来实现队列,取值和删除的速度快,获取length 需要实时记录,要不然也慢
2周刷完100道前端优质面试真题 mu课 视频及资料领取请关注:奋斗的刚子
欢迎访问我的小程序,惊喜不断啊