Python 数据结构和算法 06| 如何理解基础的数据结构——队列

通往 Python 高手之路

队列

你吃完东西后有序拉出来的过程,就是队列。

和栈这种数据结构不同的是,队列可以存入和取出数据,不过它具有 “先进先出” 的特点,它有两个主要的操作:入队和出队:

其实你在生活过程中就经常遇到 “队列”,比如你排队进高铁检票的时候,排在前面的人就先进去,排到后面的人就只能慢慢等(当然,这里不讨论插队和中途排队退出的情况)。

队列的实现实例

接下来我们用 Python 的 list 来演示一下队列的简单实现。

首先我们可以定义一个队列 Queue 的类:

在这个初始方法中,我们定义了 items 列表,用来存储数据,而 count 用来定义存储数据的大小。

接下来需要定义两个主要的操作,一个是入队 enqueue,一个是出队 dequeue:

本文隐藏内容 登陆 后才可以浏览
而在出队操作的时候,一般情况下也是 O(1), 而如果元素存储到 n 的时候,需要做数据整体的搬移才能再次插入数据,那么这时候的入队时间复杂度就是 O(n) 了哦。

ok,以上主要让你先对队列这种数据结构有一个认识,接下来还会进一步讲解。

发表回复