- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(i-1,j-1) N (i-1,j) (i-1,j+1) E (i,j-1) @ (i,j) w (i,j+1) (i-1,j+1) S (i+1,j) (i+1,j+1) -1 0 -1 1 0 1 1 1 1 0 -1 1 0 -1 -1 -1 N NW W SW S ES E EN 方向 方向矩阵move g=i+move[k][0]; H=j+move[k][1]; maze[1][1]=2; s[top][0]=1; s[top][1]=1; s[top][2]=3; ++top; while (top!=0f==0) {--top; i=s[top][0]; j=s[top][1]; k=s[top][2]; if (g==mh==nmaze[g][h]==0) {for(p=0;ptop;++p) { printf(%d,%d,%d\n,s[p][0],s[p][1],s[p][2]);} printf(%d,%d,%d\n,i,j,k); printf(%d,%d,%d\n,m,n,k); f=1; } } if(f==0) printf(no path\n); } while(k=8) {g=i+move[k][0]; h=j+move[k][1]; if(maze[g][h]==0) {maze[g][h]=2; s[top][0]=i; s[top][1]=j;s[top][2]=k; ++top; i=g; j=h; k=0; } k=k+1; } 死不松手 * ---Reverse Polish Notation 递归:自己××自己,如(定义、调用) ?递归的对象:一个对象部分地包含它自己,或用它自己给自己定义。如某些数据结构的定义 〖例〗线性表的另一种定义: 若元素个数为0,则称为空表 若元素个数大于0,则有且仅有一个第一个元素(即表头),剩余元素形成一个表(即表尾) 。 §3.3 栈与递归的实现 ?递归的过程:一个过程直接或间接地调用自己 〖例〗f(n) = n ! = f(n-1)*n ?递归的应用 递归定义:如阶乘、Fibonacci数列等 数据结构:如表、树、二叉树等 问题求解:如Hanoi塔 定义是递归的 §3.3 栈与递归的实现 long fact ( long n ) { if ( n == 0 ) return 1; //递归结束条件 else return n * fact (n-1); //递归的规则 } 过程的嵌套调用 r 主程序 s r r r s 子过程1 r s t 子过程2 r s t 子过程3 §3.3 栈与递归的实现 主程序 main( ): fact(4) 参数传递 递归调用 结果返回 回归求值 fact(4): fact(3): fact(2): fact(1): fact(0): 1 直接定值为1 计算 4*fact(3) 计算 3*fact(2) 计算 2*fact(1) 计算 1*fact(0) 1 2 6 24 §3.3 栈与递归的实现 数据结构是递归的--表 空表 非空表: (表头元素+除表头元素以外的剩余元素) 查找表L中是否有元素值e §3.3 栈与递归的实现 LinkList search(LinkList L, ElemType e) // L为不带头结点的单向非循环链表 { if ( L==NULL ) return NULL; else if ( L-data==e ) return L; else return search(L-next, e); } void hanoi(int n, char a, char b, char c)n-圆盘数 a-源塔座b-中介塔座 c-目标塔座 搬动方法 n=1, a-c n1:hanoi(n-1, a, c, b)a-chanoi(n-1, b, a, c) 注意用递归调用的结果,不关注该结果如何获得的细节 §3.3 栈与递归的实现 问题求解是递归的—Hanoi塔 §3.3 栈与递归的实现 当在一个函数的运行期间调用另一个函数时,在运行该被 调用函数之前,需先完成三件事: 将所有的实在参数、返回地址等信息传递给被调用函数保存; (现场保护) 为被调用函数的局部变量分配存储区; 将控制转移到被调用函数的入口。 从被调用函数返回调用函数之前,应该完成: 保存被调函数的计算结果; 释放被
您可能关注的文档
- RAM调研与及总结.docx
- XX集团医院信息系统数据结构手册RiversRGHIS2-20200303.pdf
- XX路院校区基础控制测量技术设计书.doc
- XX微博大数据分析报告.ppt
- 车辆工程专业“卓越工程师计划”企业实习报告.docx
- 村发展畜禽养殖调研报告范文.pdf
- 第六章树和二叉树教学课件.ppt
- 哈希表教学课件.ppt
- 机器学习算法PPT课件.pptx
- 人工智能方向实习实验报告.doc
- 深度解析(2026)《ISO 22002-12025食品安全前提方案—第1部分:食品制造》.pptx
- 深度解析(2026)《ISO 22002-52025食品安全前提方案—第5部分:运输和储存》.pptx
- 深度解析(2026)《ISO 22002-42025 食品安全前提方案 — 第4部分:食品包装制造》.pptx
- 徒步活动策划方案.doc
- 深度解析(2026)《ISO 22002-62025食品安全前提方案—第6部分:饲料及动物食品生产》.pptx
- 2026年新版郯城期末真题卷.doc
- 深度解析(2026)《ISO 22476-72012岩土工程勘察与测试 — 现场测试 — 第7部分:钻孔千斤顶试验》.pptx
- 深度解析(2026)《ISO 22090-22014 船舶与海洋技术 — 航向传送装置(THD) — 第2部分:地磁原理》.pptx
- 深度解析(2026)《ISO 23584-22012 光学和光子学 — 参考字典规范 — 第 2 部分:类与特性定义》:构建智能制造数据基石的专家视角与未来展望.pptx
- 深度解析(2026)《ISO 22932-92025 Mining — Vocabulary — Part 9 Drainage》:构建未来矿山“水脉”治理与可持续发展的新语言体系.pptx
最近下载
- 五年级数学上册用简便方法计算复习(共24张PPT).pptx VIP
- 大学英语四级强化知到智慧树期末考试答案题库2024年秋哈尔滨理工大学.docx VIP
- 2023年税务师继续教育题库及完整答案【夺冠系列】.docx
- 天津市南开区2020-2021学年五年级上学期数学期末试卷.docx VIP
- 证券从业之证券市场基本法律法规考试题库(考点梳理).docx
- 环境影响评价工程师之环评法律法规题库及参考答案【精练】.docx
- 2023年税务师继续教育题库附答案(基础题).docx
- 金庸群侠传x技能_奥义.xls VIP
- 2023年税务师继续教育题库(历年真题)word版.docx
- 2023年国家公务员考试题库含完整答案【夺冠】.docx
原创力文档


文档评论(0)