对于Python除了基本的数据结构外还有一些gao级数据结构,这些数据结构在进行算法运算时十分有用。下面融跃小编带大家来了解一下。

1、栈

栈是一种线性表,只允许从一段插入和删除数据,栈的插入和删除只能在栈顶进行。栈有两种存储方式,即线性存储和链接存储(链表)。所以每次删除的元素都是*后进栈的元素,故栈也被称为后进先出表。每个栈都有一个栈顶指针,他的初始值为-1,且总是指向*后一个入栈的元素。

栈有两种处理方式,即进栈和出栈,进栈时只需要移动一个变量存储空间,时间复杂度O(1);但是对于出栈分两种情况,栈未满时,时间复杂度也为O(1),但是当栈满时需要中心分配内存,并移动栈内所有数据,所以此时的时间复杂度为O(n)。

Python中栈:在Python中,栈其实可以用更加简单的列表实现,用append在末尾进行增加元素操作,用pop删除元素操作。

列表简单实现:

队列

普通方法实现:

队列

2、队列

队列是一种特殊的线性表,和栈类似,但是允许表的前面进行删除操作,而在标的后面进行插入操作,也是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。分为顺序队列和循环队列。

顺序队列

普通队列实现

队列

双端队列实现

队列

以上就是关于Python*数据结构的介绍,希望对你学习Python有所帮助。

特别惊喜:凡进入融跃教育七月课程秒杀群,Python原价2580元金融实战课,群内售价仅需1499元!(注意,群成员特享!进群后,截图发给客服领取低价购买特权!)

那么我们该如何进群呢?

(扫下方二维码,进入专属QQ群,参加秒杀活动)

进入专属QQ群