栈
栈是一种特殊的线性表,仅能在一端操作,栈顶允许操作,栈底不允许操作。
栈的特性:后进先出(先进后出)
python可以使用列表模拟栈结构,初始化定义如下:
stack = []
向栈里存入数据,称之为压栈:
stack.append(x)
从栈里取出数据,称之为出栈:
res = stack.pop() # res可以返回出栈的数据
队列
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。
队列的特性:先进先出
python中队列封装在collections模块中,定义如下:
queue = collections.deque()
向队列中存入数据,称之为进队:
queue.append(x)
从队列中取出数据,称之为出队:
res = queue.popleft() # res可以返回出队的数据