版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构.车厢调度[课件]数据结构全文共10页,当前为第1页。假设停在铁路调度口的车厢序列的编号依次1,2,3,…,n,设计一个程序,求出所有可能由此输出的长度为n的车厢序列。
问题描述:[课件]数据结构全文共10页,当前为第2页。为使车厢能够调度,常把站台设计成栈式结构。利用先进后出的性质,改变车厢的顺序。
从而,问题可以转化为:1,2,3,…,n依次全部进栈且全部出栈,求所有的出栈序列。…[课件]数据结构全文共10页,当前为第3页。问题分析:从具体问题入手:第一步:假如有1,2,3准备进栈,此时具体的过程如下第二步:对上述过程的进一步分析,一个数进栈以后,有两种处理方式:要么下一个元素进栈(如果有的话),要么立刻出栈;一个数出栈以后,要么继续出栈(如果栈不为空),要么下一个元素进栈(如果有的话)第三步:继续分析,由此得出一个结论,在操作过程中的任何状态下都有两种可能的操作:“入”和“出”。每个状态下处理问题的方法都是相同的,这说明问题本身具有天然的递归特性,可以考虑用递归算法实现。[课件]数据结构全文共10页,当前为第4页。本程序的主要算法分析:调度函数的伪码算法如下:voidScheduling(intpos,intpath[],inti){if(pos<n){一个数进栈后,有两种处理方式:要么下一个数的进栈,要么立刻出栈}if(!IsEmpty()==true){一个数出栈后,有两种处理方式:要么继续出栈,要么下一个数的进栈}if(pos==n&&IsEmpty()){一种可能输出序列产生,输出}}[课件]数据结构全文共10页,当前为第5页。具体的调度函数的程序代码:voidSeqStack::Scheduling(intpos,intpath[],inti){ inttemp; if(pos<maxSize){ Push(pos+1); Scheduling(pos+1,path,i); Pop(); } if(IsEmpty()==false){ temp=Pop(); path[i++]=temp; Scheduling(pos,path,i); Push(temp); } if(pos==maxSize&&IsEmpty()==true){ count++; for(intj=0;j<i;j++) cout<<path[j]<<''; cout<<'\t'; }}[课件]数据结构全文共10页,当前为第6页。S(1,path,0)push(2)S(2,path,0)pop()t=path[0]=pop()S(1,path,1)push(t)S(2,path,0)停止t=path[0]=pop()S(1,path,1)push(t)S(1,path,1)停止t=path[0]=pop()S(1,path,2)push(t)S(1,path,1)push(2)S(2,path,1)pop()停止S(1,path,2)停止停止输出path[i]:2,1S(2,path,1)停止停止输出path[i]:1,2主函数调用Scheduling函数后后究竟怎么执行的呢现考虑只有两个车厢1,2?[课件]数据结构全文共10页,当前为第7页。122112111初始状态:①:②:③:④:⑤:⑥:⑦:④:⑤:④:①:⑤:④:⑨:①:⑤:④:⑧:进出栈情况:[课件]数据结构全文共10页,当前为第8页。谢谢!看收![课件]数据结构全文共10页,当前为第9页。3进3进无3出1出无2出无2出3进空3出无3进无3出无3出1出3进无1出2出无空空无3出无空无无空空无2进2进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司起步阶段规划
- 课件论文模板教学课件
- 3.2金属材料 课件高一上学期化学人教版(2019)必修第一册
- 糖尿病用药依从性
- 1.1 课时1 能层与能级、基态与激发态、原子光谱课件高二化学人教版(2019)选择性必修2
- 糖尿病处方点评
- 春节食品安全知识讲座
- 初中物理电功教案
- 彩带飘飘教案反思
- 和悟空比本领说课稿
- 14孔子论孝教案-蓝色
- 水厂转让合同模板
- 中国记者日介绍主题班会 课件
- 会计领军人才笔试题库及答案
- 洗浴搓澡承包合同书(2篇)
- 《中小型无人驾驶航空器垂直起降场技术要求》编制说明
- -二三维一体化城市生命线安全风险综合监测预警指挥平台建设方案
- DBJ46-064-2023 海南省绿色建筑评价标准(民用建筑篇)
- 2024-2030年中国光伏运维行业发展现状及趋势前景预判分析研究报告
- 农村网格员个人述职报告
- 建筑结构加固与改造行业经营模式分析
评论
0/150
提交评论