JavaScript 中队列的性能问题
来源:4-1 队列简介
wawjqyh
2021-04-16
老师请教下两个问题:
- JS 中的数组和其他语言的不一样,实质是对象。并没有数组这种类型。但是我看到一些文章中说 JS 内部对数组也做了优化,把数组存储在连续的内存区域,提高数组的效率。并且 shift/unshift 跟其他语言一样也是比较慢的,需要把所有元素移位。是否可以理解为,视频中出队操作复杂度是 n 呢?
- 如果出队复杂度是 n ,那么是否能够改进下队列。比如使用变量记录队头和队尾,然后出队和入队直接更改某个元素,那么出队复杂度也能为 1 。还有能否扩展讲下循环队列
写回答
1回答
-
你的思考很好,数组增删的复杂度确实是n,所以很多人用链表来优化,因为链表增删的复杂度是1。这也是一道经典面试题哈
00
相似问题