栈课件(共21张PPT)浙教版(2019)信息技术选修1.pptVIP

栈课件(共21张PPT)浙教版(2019)信息技术选修1.ppt

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

3.3栈概念特征操作应用

情景创设汉诺塔游戏,玩法如下:

1.有三根杆子A,B,C。A杆上有若干碟子

2.每次移动一块碟子,小的只能叠在大的上面

3.把所有碟子从A杆全部移到C杆上完成游戏,分析各个环移动的特征

栈概念是一种“先进后出”的线性表,仅允许在一端进行插入和删除允许插入或删除的一端称为栈顶,对应元素称为栈顶元素另一端叫栈底,对应元素称为栈顶元素

栈特征(1)先进后出,后进先出元素入栈顺序和元素出栈顺序相反(2)有限序列性:栈元素个数有限栈可以为空,也可以包含多个元素,栈顶元素只有一个前驱点,栈底元素只有一个后继点,其他元素既有一个前驱点,又有一个后继点。

栈操作(建栈)例:有5个字母“a”“b”“c”“d”“e”按序入栈,可创建长度为5的栈st:初始为空串,栈顶指针top设置为-1代码示例:top=-1st=[“”]*5栈按顺序结构存储,通过数组实现,所以Python可使用列表创建栈

栈操作(入栈)栈顶指针top记录栈顶元素的位置,初始值为-1,进栈一个元素,top指针加1,st[top]=栈顶元素top=-1#初始值top=top+1#top=0st[top]=”a”#a入栈,top指向a的位置top=top+1#top=1st[top]=”b”#b入栈,top指向b的位置……

top=-1#初始值top=top+1 #top=0st[top]=”a”#a入栈,top指向a的位置top=top+1 #top=1st[top]=”b”#b入栈,top指向b的位置top=top+1 #top=2st[top]=”c”#c入栈,top指向c的位置top=top+1 #top=3st[top]=”d”#d入栈,top指向d的位置top=top+1 #top=4st[top]=”e”#e入栈,top指向e的位置栈操作(入栈)

栈操作(入栈)入栈过程用算法的什么结构实现?停止入栈的条件是什么?st=[“”]*5top=-1whiletoplen(st):top+=1st[top]=“*”

栈操作(出栈)出栈,排在栈顶的元素依次出栈,top指针变量依次减1,直至top的值等于-11.print(st[top])2.st[top]=“”3.top=top-1

栈操作(出栈)top=4#初始值st[top]=””#e出栈top=top-1 #top=3,top指向d的位置st[top]=””#d出栈top=top-1 #top=2,top指向c的位置st[top]=””#c出栈top=top-1 #top=1,top指向b的位置st[top]=””#b出栈top=top-1 #top=0,top指向a的位置st[top]=””#a出栈top=top-1 #top=-1,栈空

栈操作(出栈)出栈过程用算法的什么结构实现?停止出栈的条件是什么?top=len(st)-1whiletop!=-1:print(st[top])st[top]=“”top-=1

问题与讨论编号为1、2、3、4的4列火车,按顺序开进一个栈式结构的站点。问:开出火车站的顺序由多少种?请写出所有可能的出栈序列。

以1开头,只能1进1出,剩下2、3、4

以2开头,只能1进2进2出,剩下3、4

以3开头,只能1进2进3进3出,剩下4以4开头,只能1进2进3进3进4进4出,则出栈序列为:4、3、2、1

算法思想:用栈结构存放每次获得的余数根据栈特征输出每次获得的余数栈应用1:十进制数转换为二进制数st=[0]*100top=-1num=int(input(“输入十进制数”))whilenum!=0:top+=1st[top]=num%2num=num//2whiletop!=-1:print(st[top],end=“”)st[top]=“”top-=

文档评论(0)

原创文库 + 关注
实名认证
文档贡献者

电子图像处理技能证持证人

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

领域认证该用户于2023年04月20日上传了电子图像处理技能证

1亿VIP精品文档

相关文档