python数据结构与算法分析 豆瓣,python数据结构与算法分析豆瓣

  python数据结构与算法分析 豆瓣,python数据结构与算法分析豆瓣

  本文主要详细介绍Python的队列。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下,希望能帮到你。

  什么是队列?构建队列摘要。

  

目录

  类似于堆栈,队列是有序集合.的。添加操作发生在“尾部”,删除操作仅发生在“头部”.新元素仅从尾部进入,开始排队,然后向前移动到头部,直到它成为下一个被删除的元素。

  新添加的元素必须在队列末尾等待,队列中时间最长的元素排在最前面。这种排序原则被称为FIFO(first-in first-out),即先进先出,也称为先来先服务。日常生活中,我们经常会排队,这是一个最简单的排队例子。你必须排队进入电影院,在超市结账,买咖啡。好的队列只允许一头进,一头出,不可能插队或者中途离开。

  

什么是队列?

  如前所述,队列是元素的有序集合,添加操作发生在尾部移除操作发生在头部.队列的操作序列是FIFO,它支持以下操作。

  一个空队列在创建.它不需要参数,而返回一个空队列. Queue()是尾部添加队列中的一个元素。它需要一个一个元素作为参数,不返回值。Enqueue(item)队列头部移除中的一个元素。它不需要参数,并将返回一个元素修改的内容排队。Dequeue()检查队列是否为空.它不需要参数,返回一个布尔值. IsEmpty()返回队列中的元素的数目。它不需要参数和返回一个整数.大小(像,我们使用简单而强大的列表来实现队列.)

  确定列表的哪一端是队列的尾部,哪一端是头部.让我们假设队列的尾部在列表的位置0。这样,你可以用insert函数向队列的尾部.添加新元素,pop可以用它来删除队列头部的元素(列表中的最后一个元素)。这意味着添加操作的时间复杂度是O(n),而移除操作的时间复杂度是O(1)。

  队列实现代码如下:

  班级队列:

  def __init__(self):

  Self.items=[] #建立一个空队列

  打印(“您创建了一个队列”)

  def isEmpty(self):

  Return.items==[] #判断是否为空。

  定义排队(自身,项目):

  Self.items.insert(0,item) #在队列末尾(列表的左端)插入一个元素

  打印(您在队列末尾插入了一个%s%项目

  定义出列(自身):

  Print(您删除了队列头的一个元素)

  Return.items.pop () #移出队列头的元素(列表的右端)

  定义尺寸(自身):

  Len (self.items) #队列(list)长度

  def look(自身):

  打印(自己的项目)

  下图展示了队列的操作及其返回结果:

  

构建一个队列

  本文到此为止。希望能帮到你,也希望你能多关注更多热门IT软件开发工作室的内容!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • mysql复合索引和组合索引,mysql组合索引数据结构
  • mysql复合索引和组合索引,mysql组合索引数据结构,Mysql之组合索引方法详解
  • mysql复合索引和组合索引,mysql复合索引数据结构
  • mysql复合索引和组合索引,mysql复合索引数据结构,MySQL的复合索引总结
  • b+树 多路搜索树,数据结构中树的分类
  • b+树 多路搜索树,数据结构中树的分类,数据结构-树(三):多路搜索树B树、B+树
  • avl树的构造,avl树特性,数据结构之AVL树详解
  • 数据结构c语言哈夫曼树,c语言哈夫曼树的构造,使用C语言详解霍夫曼树数据结构
  • c语言数据结构算法编程库,数据结构 c语言中文网
  • c语言数据结构算法编程库,数据结构 c语言中文网,C语言编程数据结构基础详解小白篇
  • c++纸牌游戏,数据结构纸牌游戏c语言
  • c++纸牌游戏,数据结构纸牌游戏c语言,C语言实战之纸牌游戏
  • ,,c#解析jobject的数据结构
  • ,,javascript数据结构之多叉树经典操作示例【创建、添加、遍历、移除等】
  • ,,Java 数据结构与算法系列精讲之背包问题
  • 留言与评论(共有 条评论)
       
    验证码: