JavaScript 中队列的性能问题

来源:4-1 队列简介

wawjqyh

2021-04-16

老师请教下两个问题:

  1. JS 中的数组和其他语言的不一样,实质是对象。并没有数组这种类型。但是我看到一些文章中说 JS 内部对数组也做了优化,把数组存储在连续的内存区域,提高数组的效率。并且 shift/unshift 跟其他语言一样也是比较慢的,需要把所有元素移位。是否可以理解为,视频中出队操作复杂度是 n 呢?
  2. 如果出队复杂度是 n ,那么是否能够改进下队列。比如使用变量记录队头和队尾,然后出队和入队直接更改某个元素,那么出队复杂度也能为 1 。还有能否扩展讲下循环队列
写回答

1回答

lewis

2021-04-16

你的思考很好,数组增删的复杂度确实是n,所以很多人用链表来优化,因为链表增删的复杂度是1。这也是一道经典面试题哈

0
0

JavaScript版数据结构与算法 轻松解决前端算法面试

夯实算法基础,填补技术短板,助力面试考题最后一公里

2482 学习 · 683 问题

查看课程