欢迎来到天天文库
浏览记录
ID:341256
大小:102.00 KB
页数:27页
时间:2017-07-25
《算法设计中的递归与非递归转换 数学毕业论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、学号:2006011269哈尔滨师范大学学士学位论文题目算法设计中的递归与非递归转换学生指导教师年级2006级专业信息与计算科学系别信息科学系学院数学科学学院哈尔滨师范大学学士学位论文开题报告论文题目算法设计中的递归与非递归转换学生姓名指导教师年级2006级专业信息与计算科学2009年11月课题来源:自选题目课题研究的目的和意义:1.并不是每一门语言都支持递归的. 2.有助于理解递归的本质. 3.有助于理解栈、树等数据结构.国内外同类课题研究现状及发展趋势:近年来,计算机科学技术与计算机应用以惊人的速度发展。它已渗透到了人类生活的每一角落.现代社会的各个领域无
2、一例外地广泛使用着电子计算机.计算机知识已成为当代人类文化不可缺少的重要组成部分.研究与使用算法设计已成为必然.在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解.课题研究的主要内容和方法,研究过程中的主要问题和解决办法:主要内容:算法设计中的递归和非递归转换主要方法:用栈来解决算法设计中的递归和非递归转换主要问题:实现算法设计中的递归和非递归转换解决方法:利用循环,递归调用树,栈实现算法设计中的递归和非递归转换课题研究起止时间和进度安排:2009年12月2日~2010年2月9日课题资料搜集整理2010年2月9日~20
3、10年4月6日材料分析、撰写论文2010年4月20日完成论文撰写、成稿课题研究所需主要设备、仪器及药品:计算机外出调研主要单位,访问学者姓名:指导教师审查意见:指导教师(签字) 年月教研室(研究室)评审意见:____________教研室(研究室)主任(签字) 年月系(部)主任审查意见:____________系(部)主任(签字) 年月学士学位论文题目算法设计中的递归与非递归转换学生孙庆雨指导教师栾丛海讲师年级2006级专业信息与计算科学系别信息科学系学院数学科学学院哈尔滨师范大学2010年5月算法设计中的递归和非递归转换孙庆雨摘要:算法设计
4、中的递归和非递归转换是学习算法设计的基础,熟练地运用递归与非递归转换是算法设计的基础,在这篇论文中我就介绍几种算法设计中的递归与非递归的转换方法.让大家可以更好的实现算法设计中的递归和非递归转换。关键词:算法设计递归与非递归转换三种遍历树的算法 递归与非递归转换的基础知识是能够正确理解三种树的遍历方法:前序,中序和后序,第一篇就是关于这三种遍历方法的递归和非递归算法。一、为什么要学习递归与非递归的转换的实现方法 1.并不是每一门语言都支持递归的. 2.有助于理解递归的本质. 3.有助于理解栈,树等数据结构.二、三种遍历树的递归和非递归算
5、法 递归与非递归的转换基于以下的原理:所有的递归程序都可以用树结构表示出来.需要说明的是,这个"原理"并没有经过严格的数学证明,只是我的一个猜想,不过在至少在我遇到的例子中是适用的.学习过树结构的人都知道,有三种方法可以遍历树:前序,中序,后序.理解这三种遍历方式的递归和非递归的表达方式是能够正确实现转换的关键之处,所以我们先来谈谈这个.需要说明的是,这里以特殊的二叉树来说明,不过大多数情况下二叉树已经够用,而且理解了二叉树的遍历,其它的树遍历方式就不难了。 1)前序遍历 a)递归方式: voidpr
6、eorder_recursive(BitreeT) /*先序遍历二叉树的递归算法*/ { if(T){ visit(T); /*访问当前结点*/ preorder_recursive(T->lchild); /*访问左子树*/ preorder_recursive(T->rchild); /*访问右子树*
7、/ } } b)非递归方式 voidpreorder_nonrecursive(BitreeT) /*先序遍历二叉树的非递归算法*/ { initstack(S); push(S,T); /*根指针进栈*/ while(!stackempty(
8、S)){
此文档下载收益归作者所有