算法与数据结构(Python实现)7:栈与队列

栈(stack)是一种容器,可存入数据元素,访问元素,删除元素,它的特点在于只能允许在容器的一端(称为栈顶top)进行加入元素(push)和输出元素(pop)。没有了位置的概念,保证任何时候都可以访问、删除的元素都是此前最后存入的那个元素,确定了一种默认的访问顺序。

由于栈数据结构只允许在一端进行操作,因而按照后进先出(LIFO,Last In Fast Out)的原理运作。

算法与数据结构(Python实现)7:栈与队列

 

队列

队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。

队列是一种先进先出的(First In First Out)的线性表,简称FIFO。允许插入的一端为队尾,允许删除的一端为队头。队列不允许在中间部位进行操作!假设队列是q=(a1, a2, ..., an),那么a1就是队头元素,而an就是队尾元素。这样我们就可以删除时,总是从a1开始,而插入时,总是在队列最后。

算法与数据结构(Python实现)7:栈与队列