- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4-5-6栈和队列
数据结构课程的内容 第三章 栈和队列 3.1 栈(Stack) 3.2 队列(Queue) 1. 定义 Q1:堆栈是什么?它与一般线性表有什么不同? Q2:顺序表和顺序栈的操作有何区别? Q3:什么叫“向上生成”的栈? “向下生成”又是何意? Q4:为什么要设计堆栈?它有什么独特用途? 例2(严题集3.1)一个栈的输入序列为1,2,3,若在入栈的过程中允许出栈,则可能得到的出栈序列是什么? 例3:一个栈的输入序列是12345,若在入栈的过程中允许出栈,则栈的输出序列43512可能实现吗?12345的输出呢? 例4: 设依次进入一个栈的元素序列为c,a,b,d,则可得到出栈的元素序列是: A)a,b,c,d B)c,d,a,b C)b,c,d,a D)a,c,d,b 顺序栈的入栈操作——例如用堆栈存放(A,B,C,D) 顺序栈出栈操作——例如从栈中取出‘B’ 链栈的入栈操作和出栈操作(教材省略) 栈的应用举例 第三章 栈和队列 3.1 栈(Stack) 3.2 队列 队的实现方式是本节重点,关键是掌握入队和出队操作。具体实现依存储结构(链队或顺序队)的不同而不同。 1.链队列 2.顺序队 (A) r-f (B)(n+f-r)% n (C)n+r-f (D) (n+r-f)% n 本章小结 第3章作业 3.2 队列(Queue) 1. 定义 2. 逻辑结构 3. 存储结构 4. 运算规则 5. 实现方式 1. 定义 2. 逻辑结构 3. 存储结构 4. 运算规则 5. 实现方式 与线性表相同,仍为一对一关系。 顺序队或链队,以循环顺序队更常见。 只能在队首和队尾运算,且访问结点时依照先进先出(FIFO)的原则。 关键是掌握入队和出队操作,具体实现依顺序队或链队的不同而不同。 存储结构 运算规则 实现方式 逻辑结构 只能在表的一端进行插入运算,在表的另一端进行删除运算的线性表。 基本操作:入队或出队,建空队列,判队空或队满等操作。 尾部插入 首部删除 队列定义 队列 (Queue)是仅在表尾进行插入操作,在表头进行删除操作的线性表。它是一种先进先出(FIFO)的线性表。 例如:队列 Q= (a1 , a2 , a3 , ……….,an-1 , an ) 在队尾插入元素称为入队;在队首删除元素称为出队。 队首 队尾 问:为什么要设计队列?它有什么独特用途? 离散事件的模拟(模拟事件发生的先后顺序,例如 CPU芯片中的指令译码队列); 操作系统中的作业调度(一个CPU执行多个作业); 3. 简化程序设计。 答: 1. 链队列 2. 顺序队 队的抽象数据类型定义: ADT Queue{ 数据对象:D=…… 数据关系:R=…… 基本操作: …… } ADT Queue 建队、入队或出队、判队空或队满等,教材P59-60罗列了9种基本操作。 重点是循环顺序队 链队列类型定义: typedef struct { QueuePtr front ; //队首指针 QueuePtr rear ; //队尾指针 } LinkQueue; 结点类型定义: typedef Struct QNode{ QElemType data; //元素 Struct QNode *next; //指向下一结点的指针 }Qnode , * QueuePtr ; 关于整个链队的总体描述 链队中任一结点的结构 因简单而先介绍 讨论: 空链队的特征? Q (队尾) (队首) front a1 a2 a3 ^ rear p front ^ rear ③ 怎样实现链队的入队和出队操作? ② 链队会满吗? front=rear 一般不会,因为删除时有free动作。除非内存不足! 入队(尾部插入):rear-next=S; rear=S; 出队(头部删除):front-next=p-next; S D ^ 链队示意图: 完整操作函数见教材P62下 采用动态分配空间的形式 顺序队类型定义: 建队核心语句: q . base=(QElemType *)malloc(sizeof (QElemType ) * QUEUE_MAXSIZE); //分配空间 关于整个顺序队的总体描述 #define QUEUE-MAXSIZE 100 //最大队列长度 typedef struct { QElemType *base;
您可能关注的文档
- 2013届新课标高考一轮复习(生物) 浙江专版课件:必修1第1章第1、2节 分子和离子、无机物.ppt
- 2013届新课标高考地理一轮复习导航课件:必修1第2章第7课 地球的结构.ppt
- 2013届新课标高考地理一轮复习导航课件:必修2第1章第1课 人口与环境.ppt
- 2013届高三化学氧族元素--FFQ.ppt
- 2013届高三历史一轮复习单元检测试题.doc
- 2013届高三数学中档题训练4.doc
- 2013届高三英语一轮综合能力训练卷 1(福建专版).doc
- 2013届高考一轮复习:第2部分 专题9 高中物理学史.ppt
- 2013届高考一轮复习:第2部分 专题7 第2讲高中物理常用解题方法(二)极端法对称法全过程法逆向思维法递推法.ppt
- 2013届高考化学复习_第13讲_氮及其化合物.ppt
最近下载
- 天然药物化学实验习题.docx VIP
- 天然药物化学考试题及答案.docx VIP
- T_ZJPA 001—2021_制药工业环境微生物数据库构建技术规范.pdf VIP
- 中小学第15课 第二次世界大战(课件)教育教学资料整理.pptx VIP
- 台达IED-G使用手册.pdf VIP
- 实施指南《GB_T42755 - 2023人工智能面向机器学习的数据标注规程》实施指南.docx VIP
- 酒店员工劳动合同范本及签订指南.docx VIP
- 2025广西公需科目考试题库和答案(覆盖99%考题)广西“一区两地一园一通道+人工智能时代的机遇.docx VIP
- 东北财经大学2023-2024学年《马克思主义基本原理概论》期末考试试卷(A卷)含参考答案.docx
- T100鼎新技术手册.docx VIP
原创力文档


文档评论(0)