【文件属性】:
文件名称:leetcode添加元素使和等于-data-structure:数据结构
文件大小:15KB
文件格式:ZIP
更新时间:2021-06-30 06:46:11
系统开源
leetcode添加元素使和等于
数据结构
队列,栈
,二叉树,链表,桶。
队列
&
栈
2020-9-18打卡
队列和栈是两种不同的线性数据结构:前者先入先出,后者后入先出
在
FIFO
数据结构中,将首先处理添加到队列中的第一个元素。
如上图所示,队列是典型的
FIFO
数据结构。插入(insert)操作也称作入队(enqueue),新元素始终被添加在队列的末尾。
删除(delete)操作也被称为出队(dequeue)。
你只能移除第一个元素
设计普通队列
普通队列无法做到循环使用,随着起始指针的移动,浪费了越来越多的空间。
设计循环队列
时间复杂度:O(1)。该数据结构中,所有方法都具有恒定的时间复杂度。
空间复杂度:O(N),其中
N
是队列的预分配容量。循环队列的整个生命周期中,都持有该预分配的空间。
从并发性来看,该循环队列是线程不安全的。
这种情况称为竞态条件。加线程锁就可以了
from
threading
import
Lock
class
MyCircularQueue:
def
__init__(self,
k:
int):
"""
Initialize
your
【文件预览】:
data-structure-master
----dptest.py(386B)
----Queue()
--------queue_2.py(3KB)
--------queue_5.py(3KB)
--------leetcode-queue-1.py(721B)
--------queue_4.py(1KB)
--------leetcode-queue-2.py(829B)
--------queue_1.py(813B)
--------queue_3.py(2KB)
----dp()
--------dp_1.py(911B)
--------dp_2.py(326B)
--------dp_5.py(4KB)
--------dp_4.py(2KB)
--------dp_3.py(516B)
----README.md(11KB)