《数据结构》课程教学资源(PPT课件讲稿)第3章 栈和队列

第3章栈和队列 3.1栈 3.2队列
1 3.1 栈 3.2 队列 第3章 栈和队列

栈和队列的特点 ◆两者的逻辑结构与线性表相同,但是插入 和删除操作受到了限制; ●栈只允许在线性表的一端进行插入和删除 操作,队列则允许在一端插入另一端删除; ●栈按照“后进先出”的规则进行操作,队 列则按照“先进先出”的规则进行
2 栈和队列的特点 ◆ 两者的逻辑结构与线性表相同,但是插入 和删除操作受到了限制; ◆ 栈只允许在线性表的一端进行插入和删除 操作,队列则允许在一端插入另一端删除; ◆ 栈按照“后进先出”的规则进行操作,队 列则按照“先进先出”的规则进行

31栈 3.1.1栈的定义 3.1.2顺序存储结构及其基本运算实现 3.1.3链式存储结构及其基本运算实现 3.1.4栈的应用举例
3 3.1.1 栈的定义 3.1.2 顺序存储结构及其基本运算实现 3.1.3 链式存储结构及其基本运算实现 3.1.4 栈的应用举例 3.1 栈

3.11栈的定义 栈是一种只能在一端进行插入或删除操作的线性表。 表中允许进行插入、删除操作的一端称为栈顶。 当栈中没有数据元素时,称为空栈。 入栈 小出栈 栈顶top 栈底 bottom
4 栈是一种只能在一端进行插入或删除操作的线性表。 表中允许进行插入、删除操作的一端称为栈顶。 当栈中没有数据元素时,称为空栈。 3.1.1 栈的定义 a1 a2 a3 an … 栈顶 top 栈底 bottom 入栈 出栈

练习1 依次输入3个元素A、B、C到栈中,可 得到哪几种不同的输出? 解:共5种 (1)A,B,C(2)A,C,B (3)B,A,C(4)B,C,A (5)C,B,A
5 练 习 1 • 依次输入3个元素A、B、C到栈中,可 得到哪几种不同的输出? • 解:共5种 (1) A,B,C (2) A,C,B (3) B,A,C (4) B,C,A (5) C,B,A

练习2 设一个栈的输入序列为A、B、C、D,则借助一个 栈所得到的输出序列不可能是 (A)A, B, C, D B)D, C, B, A (C)A, CD, B D)D,A, B,C 答案:D
6 • 设一个栈的输入序列为A、B、C、D,则借助一个 栈所得到的输出序列不可能是 。 (A) A,B,C,D (B) D,C,B,A (C) A,C,D,B (D) D,A,B,C 练 习 2 答案:D

栈的抽象数据类型 ADT Stacki 数据对象:D={a11m,n>0,a1为 ElemType类型} 数据关系:R={<a1,a21Na1;a11∈D,i1,n-1} 基本运算: Initstack(&s)∥{始化栈:构造一个空栈s DestroyStacke(&s)/销毁栈:释放栈S占用的存储空间 StackEmpty(s))/判断栈是否为空 Push(&S,e)进栈:将元素c插入到栈s中作为栈项元素 Pop(&s&e)∥出栈:从栈s中退出栈顶元素,并将其值赋给e GetTop(s,&e)/取栈顶元素:返回当前的栈顶元素,并将其值赋给e JADT Stack
7 栈的抽象数据类型 ADT Stack{ 数据对象:D={ai |1≤i≤n,n≥0,ai为ElemType类型} 数据关系:R={| ai,ai+1 D ,i=1,...,n-1} 基本运算: InitStack(&s) //初始化栈:构造一个空栈s DestroyStack(&s) //销毁栈:释放栈s占用的存储空间 StackEmpty(s) //判断栈是否为空 Push(&S,e) //进栈:将元素e插入到栈s中作为栈顶元素 Pop(&s,&e) //出栈:从栈s中退出栈顶元素,并将其值赋给e GetTop(s,&e) //取栈顶元素:返回当前的栈顶元素,并将其值赋给e }ADT Stack

Push(&s, e) 初始条件:栈S已存在 操作结果:插入e为新的栈顶元素 a1 a 2 ●●●●● a e n 8
8 a1 a2 a … … n Push(&S, e) 初始条件:栈 S 已存在 操作结果:插入e为新的栈顶元素 e

Pop(&s, &e) 初始条件:栈S存在且非空 操作结果:删除S的栈顶元素,赋值给e a1 a 2 ●●●●● n n
9 a1 a2 a … … n-1 Pop(&S,&e) 初始条件:栈 S 存在且非空 操作结果:删除S 的栈顶元素,赋值给e an

GetTop(s, &e) 初始条件:栈S已存在且非空 操作结果:返回S的栈顶元素,赋值给e 1c2 ●●●●●● n
10 a1 a2 a … … n GetTop(S,&e) 初始条件:栈 S 已存在且非空 操作结果:返回 S 的栈顶元素,赋值给e
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)引言、背景概述.ppt
- 《计算机视觉》课程教学资源(PPT课件讲稿)第十二章 目标识别 Object Recognition.ppt
- 华东师范大学:《程序设计》课程教学资源(PPT课件讲稿)第九讲 类与对象(面向对象基础).pptx
- 《C程序设计》课程电子教案(PPT课件)第四章 数组和结构.ppt
- 山东大学:《人机交互技术》课程教学资源(PPT课件讲稿)第4章 人机交互技术.ppt
- 基于分布式哈希表的对等系统关键技术研究(论文PPT).ppt
- 西安交通大学:《微型计算机硬件技术》课程教学资源(PPT课件讲稿)第三章 总线线驱动与接口(主讲:桂小林).ppt
- 电子科技大学:《信息安全概论》课程教学资源(PPT课件讲稿)第一章 概述(秦志光).ppt
- 《计算机网络》课程教学资源(PPT课件讲稿)第7章 广域网.ppt
- 《电子技术》课程教学资源(PPT讲稿资料)玩转Arduino合集.ppt
- 《数字图像处理》课程教学资源(PPT课件)第三章 灰度直方图.ppt
- 《机器学习》课程教学资源(PPT课件讲稿)第十三章 半监督学习.pptx
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第三章 控制语句.ppt
- 山东大学:《微机原理及单片机接口技术》课程教学资源(PPT课件讲稿)第四章 指令系统及汇编语言程序设计(4.9-4.11).ppt
- 《计算机硬件基础》课程教学资源(PPT课件讲稿)第六章 汇编语言及其程序设计.ppt
- 中国科学技术大学:《网络信息安全 NETWORK SECURITY》课程教学资源(PPT课件讲稿)第一章 计算机网络安全概述2/2(主讲:肖明军).ppt
- 清华大学:Computational Models for Social Network Analysis(PPT讲稿)mining big social networks(Part III:Group and Structure).pptx
- 苏州大学:文档评分与向量空间模型(PPT讲稿).ppt
- 淮阴工学院:《数据库原理》课程教学资源(PPT课件讲稿)第2章 数据库系统结构.ppt
- 四川大学:《操作系统 Operating System》课程教学资源(PPT课件讲稿)Chapter 5 互斥与同步(Mutual Exclusion and Synchronization)5.3 Semaphores.ppt
- 中国科学技术大学:《计算机体系结构》课程教学资源(PPT课件讲稿)第4章 存储层次结构设计.ppt
- 东南大学:《数据结构》课程教学资源(PPT课件讲稿)分治算法.pptx
- 《电子商务实用教程》课程教学资源(PPT课件讲稿)第五章 物流配送.ppt
- 广西医科大学:《计算机网络 Computer Networking》课程教学资源(PPT课件讲稿)CHAPTER 9 COMMUNICATIONS CIRCUITS.pptx
- 安徽理工大学:《汇编语言》课程教学资源(PPT课件讲稿)第三章 80x86指令系统和寻址方式.ppt
- 机械工业出版社:国家“十一五”规划教材《数据库原理与应用教程》教学资源(PPT课件,第3版)第8章 数据库设计.ppt
- 《大学计算机》实践教程(PPT讲稿)面向计算思维能力培养(Raptor程序设计).pptx
- 南京航空航天大学:《数据结构》课程教学资源(PPT课件讲稿)第一章 绪论.ppt
- 《数字图像处理学》课程教学资源(PPT课件讲稿)第9章 数学形态学及其应用.ppt
- 东南大学:《操作系统概念 Operating System Concepts》课程教学资源(PPT课件讲稿)04 线程 Threads.ppt
- 《计算机视觉》课程教学资源(PPT课件)第八章 基于运动视觉的稠密估计——光流法(Optical Flow).ppt
- 中国科学技术大学:《算法基础》课程教学资源(PPT课件讲稿)第八讲 串匹配算法(主讲:顾乃杰).ppt
- 中国科学技术大学:《信号与图像处理基础 Signal and Image Processing》课程教学资源(PPT课件讲稿)图像成像机理与模型.pptx
- 数据包检测技术(PPT讲稿)High-Performance Pattern Matching for Intrusion Detection.ppt
- 《计算机操作系统》课程教学资源(PPT课件讲稿)第8章 计算机系统的测试.ppt
- 西北农林科技大学:高性能计算之并行编程技术(讲座PPT,报告人:周兆永).ppt
- 山东大学:《微机原理及单片机接口技术》课程教学资源(PPT课件讲稿)第四章 指令系统及汇编语言程序设计(4.1-4.6).ppt
- 电子工业出版社:《计算机网络》课程教学资源(第六版,PPT课件讲稿)第三章 数据链路层.pptx
- 北京大学:《软件需求工程》课程教学资源(PPT课件讲稿)第三章 软件需求获取(主讲:周立新).ppt
- 《管理信息系统》课程教学资源(PPT课件讲稿)第16章 新型数据库技术及发展.ppt