-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
queuequeuequeue
Description
队列(Queue)
队列是一个先进先出的线性数据结构
普通队列
先进先出,队列可以使用数组实现,并且JS的数组本身就支持队列的数据机构。但是使用数组实现队列有以下缺点。
-
浪费空间,因为JS不管快数组还是慢数组,如果空间不足,就会申请一段内存空间,但是申请的这段内存空间不可能全部使用,所以就存在着浪费,同时队列元素离开队列很多内存空间可能继续空着无法利用
-
队列存在溢出,因为数组的空间有限,如果一直添加数据,就存在溢出的风险,JS中只不过V8内部帮我们做了内存的扩容和减容。
双端队列
所谓的双端队列就是,队列既可以从前端添加和删除元素, 也可以从后端添加和删除,JS的数组本身就是一个双端队列
循环队列
循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”
使用循环队列可以节约内存空间
Metadata
Metadata
Assignees
Labels
queuequeuequeue