python入门与基础第四讲-线性数据结构part ii queuestack_第1页
python入门与基础第四讲-线性数据结构part ii queuestack_第2页
python入门与基础第四讲-线性数据结构part ii queuestack_第3页
python入门与基础第四讲-线性数据结构part ii queuestack_第4页
python入门与基础第四讲-线性数据结构part ii queuestack_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python入门与基Queue&Stack老扫 获 :知乎专栏 : 官网: Copyright© 请不要缺Copyright© 本节栈原理及实队列原理实现及使用Python的Queue模算法的时间、空间复杂Copyright© 数据结构数据结构=数据 方式+操数据 什么数据?如int,string类方式-如何组织数据,数据之间的关系操作-如何快速 查询数据,写入数据到数据结构中写入数数

数据结

654321654321数据结构不要求数据的顺序 成本比如:List列125-3222Copyright© 数据结构 1248插入数Copyright© 什么是栈栈是一种后进先出(lastinfirstout,LIFO)的线性数据结Copyright© 栈的操 弹出一个元素 获取栈顶元素empty判断栈是否为空Copyright© Copyright栈的操作示 CopyrightStackStackReturn32栈的实使用基于List实现Copyright© 面 ImplementImplement /en/problem/implement- /solutions/implement-Copyright© 面 ValidValid Copyright© Queue队Copyright© 队什么是队列里排队打过安检的时候排队列是一种先进先出(firstinfirstout,FIFO)的线性数据结Copyright© Queue提供的接口Queue()定义一个空队列,无参数,返回值是空队enqueue(item)在队列尾部加入一个数据项,参数是数据项,无返回dequeue()删除队列头部的数据项,不需要参数,返回值是被删除的据,队列本身有变isEmpty()检测队列是否为空。无参数,返回布尔size()返回队列数据项的数量。无参数,返回一个整Copyright© 队列提供Queue模块中队列的提供的结putenqueue)元素进队getdequeue)元素出对

判断队列是为Copyright© 队队列的实使用ListNode实现使用Queue模Copyright© 基于ListNode的1543Copyright© put插入一个Value-1543Copyright© get取出队列头部元素的1543得到Head指1543Head往后移动来到下一个返回1这个Copyright© empty判断对列为1543Copyright© 面 ImplementQueuebyLinkedImplementQueuebyLinked Copyright© Python提供的Queue模Python中队列是线程间最常用的交换数据的方式(在爬虫中我们会使用它如果maxsize小于1就表示队列长度无

定队列长Copyright© PUT元素放入队put()方法在 入一个元素,如果队列是满的,该线程会阻塞(等待),到空出一个位置来,然后在队尾放入元Copyright© get()方法从队头删除并返回一个项目,队列为空默认为阻塞线程(等待)到有元素放入到队列之后,将其取走Copyright© Python使用Queue实现生产者消费什么是生产者消费者模当某模块或者组件负责生产数据,然后这些数据由其他模块或者组件负责处理(此处的模块可能是:函数、线程、进程等产生数据的模块或者组件称为生产者,而处理数据的模块称为消费在生产者与消费者之间有缓冲区,生产者负责往缓冲区放数据,消费负责从缓冲 数据,这就形成了生产者消费者模式Copyright© 生产者消费生产生产

生产

消费消费

消费生产

消费

消费Copyright© 生产者消费者模式的优解如果消费者直接调用生产者的代码码会相互产生依赖(耦合通过中间的缓冲

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论