[小学教育]栈与队列.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[小学教育]栈与队列

3.2.2 队列的顺序存储表示与基本操作 ● 初始化队列操作 ● 算法描述: 算法时间 复杂度为 O(1) 3.2.2 队列的顺序存储表示与基本操作 ● 销毁队列操作 ● 算法描述: 算法时间 复杂度为 O(1) 3.2.2 队列的顺序存储表示与基本操作 ● 求队列长操作 ● 算法描述: 例如,Q.rear=4、Q.front=1 且 Q.queuesize=8,求得 length=(4-1+8) MOD 8=3 又如,Q.rear=0、Q.front=4 且 Q.queuesize=8,求得 length=(0-4+8) MOD 8=4 算法时间 复杂度为 O(1) * 邵阳学院信息与计算科学专业教研室 第3章 栈与队列 教研室:信息与计算科学 教师姓名:谢文平 课程名称 算法语言与数据结构 授课专业及 班次 ? 信息与计算科学08级 授课内容 栈和队列的逻辑结构、存储结构及其基本操作 授课方式及 学时 ?讲授6课时 目的要求 ? 目的:介绍栈和队列的逻辑结构和存储结构,以及基本运算及实现方法 要求:针对具体应用问题的要求和性质,选择栈和队列,设计有效算法 重点与难点 重点:掌握顺序栈和链栈以及循环队列和链队列上各种基本运算的实现 难点:循环队列中对边界条件的处理方法 讲授内容及 时间分配 1 栈 2课时 2 队列 2课时 3 算法设计举例 2课时 教 具 多媒体教学 参考资料 [1] 严蔚敏,吴伟民编著.数据结构(C语言版).北京: 清华大学出版社,2002年. [2]黄同成,黄俊民等编.《数据结构》.中国电力出版社,2008年. [3] 董建寅, 黄俊民等编.《数据结构实验指导与题解》.中国电力出版社,2008年. 栈是一种重要的、特殊的线性数据结构。从数据的逻辑结构角度看,栈是线性表;从操作的角度看,栈的基本操作是线性表操作的子集,是操作受限制的线性表。 3.1.1 栈的逻辑表示 ● 栈的定义 栈是限定仅在表尾进行插入或删除的线性表。允许进行插入或删除的一端称为栈顶,它将随栈中元素的增减而浮动,栈顶指针指明当前元素位置;另一端称为栈底,其指针是固定的,不随栈中元素的增减而移动。 栈 栈的操作规则是 “后进先出”。栈又称后进先出线性表,简称 LIFO 表。 当栈中没有元素时称为空栈。 例如,铁路调度站 A 是一个栈。 铁路调度示意图 3.1.1 栈的逻辑表示 ● 栈的定义 3.1.1 栈的逻辑表示 ● 栈的抽象数据类型 3.1.2 栈的顺序存储表示与基本操作 ● 顺序栈的定义 把自栈底到栈顶的元素按逻辑次序依次存放在一组地址连续的存储单元里的方式称为栈的顺序存储结构,采用这种存储结构的栈称为顺序栈。 3.1.2 栈的顺序存储表示与基本操作 ● 顺序栈的类型定义 通常的做法是以 top=0 表示 “空栈”。鉴于 C 语言中数组下标约定从 0 开始,因此对用 C 语言描述的顺序栈需要以 top=-1 表示空栈。 3.1.2 栈的顺序存储表示与基本操作 ● 顺序栈的类型定义 例如,顺序栈 S 的栈顶指针和栈中元素之间的关系如下: 顺序栈中栈顶指针和栈中元素之间的关系 3.1.2 栈的顺序存储表示与基本操作 ● 初始化栈操作 ● 算法描述: 算法时间 复杂度为 O(1) 3.1.2 栈的顺序存储表示与基本操作 ● 销毁栈操作 ● 算法描述: 算法时间 复杂度为 O(1) 3.1.2 栈的顺序存储表示与基本操作 ● 取栈顶元素操作 ● 算法描述: 算法时间 复杂度为 O(1) 如果 S.top==-1,则表明顺序栈已空,此时若再作出栈处理则将因栈中无元素可 “出” 而发生溢出,这种情况称为 “下溢”。栈的下溢常用来作为程序的控制条件。 3.1.2 栈的顺序存储表示与基本操作 ● 入栈操作 ● 算法描述: 如果 S.top==S.stacksize-1,则表明顺序栈已满,此时若再作进栈处理则将发生溢出,这种情况称为 “上溢”。 在正常情况下,算 法时间复杂度为 O(1) 在上溢情况下,算 法时间复杂度为 O(n) 3.1.2 栈的顺序存储表示与基本操作 ● 出栈操作 ● 算法描述: 算法时间 复杂度为 O(1) 3.1.2 栈的顺序存储表示与基本操作 ● 两个栈共享空间 使同时存在的两个栈共享一段连续空间,把两个栈的栈底分别设在共享空间两端,让两个栈的栈顶各自向中

文档评论(0)

skvdnd51 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档