数据结构2、栈与队列

2021-12-18  本文已影响0人  四月不见

一、栈 Stack

1、定义

栈是一种“后进先出(Last In First Out,LIFO)”的一种数据结构,有压栈出栈两种操作方式。

2、应用

对于某些递归算法,栈通常大有用处。有时,你需要 在递归时把临时数据加入到栈中,在回溯时(例如,在递归判断失败时)再删除该数据。栈是实现这类算法的一种直观方法。

二、队列 Queue

队列是一种“先进先出(First In First Out,FIFO)”的一种数据结构,有入队和出队两种操作方式。队列类似于栈,你不能随机地访问队列中的元素。

算法图解

2、应用

队列常用于广度优先搜索或缓存的实现中。
例如在广度优先搜索中,我们使用队列来存储需要被处理的节点。每处理一个节点时,就把其相邻节点加入到队列的尾端。这使得我们可以按照发现节点的顺序处理各个节点。

上一篇 下一篇

猜你喜欢

热点阅读