- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.
.
一、教学思想(包括教学背景、教学目标)
1、教学背景
本课程“递归算法”,属于《数据结构与算法》课程中“栈和队列”章节的重点和难点。数据结构与算法已经广泛应用于各行各业的数据存储和信息处理中,与人们的社会生活密不可分。该课程是计算机类相关专业核心骨干课程,处于计算机学科的核心地位,具有承上启下的作用。不仅成为全国高校计算机类硕士研究生入学的统考科目,还是各企业招聘信息类员工入职笔试的必考科目。数据结构与算法课程面向计算机科学与技术、软件工程等计算机类学生,属于专业基础课。
2、教学大纲
通过本课程的学习,主要培养学生以下几个方面的能力:
理解递归的算法;
掌握递归算法的实现要素;
掌握数值与非数值型递归的实现方法。
根据学生在学习基础和能力方面的差异性,将整个课程教学目标分成三个水平:合格水平(符合课标的最低要求),中等以上水平(符合课标的基本要求),优秀水平(符合或超出课标提出的最高要求)。具体如下表:
水平等级
衡量标准
合格
可以正确理解递归算法的概念,并理解递归算法的递归分解和递归结束条件设计。
中等以上
在合格水平的基础上,能熟练掌握数值型问题的递归算法设计;理解非数值型问题的递归算法设计。
优秀
在中等水平基础上,可以独立分析并实现数值与非数值型问题递归的设计,解决复杂问题求解的递归方法。
二、课程设计思路(包括教学方法、手段)
“递归算法”课程以故事引入、案例驱动法、示范模仿、启发式等多元化教学方法,设计课程内容。具体的课堂内容如下所示:
教学环节
课堂内容设计
教法方法
导入新课
引导学生
学习热情
明确
教学目标
课程教学
课程总结
思考拓展
一、故事导入:结合故事突出主题
生活中大人给小孩讲故事时,讲了掩耳盗铃、入木三分后,若实在没故事了,就会讲说:从前有座山,山里有个庙,庙里有个老和尚讲故事,讲的什么呢?讲的是从前有个山,山里有个庙,庙里有个老和尚讲故事,讲的什么呢?这就是一个典型的递归故事,可以无限次的递归下去。
可以把这个故事比喻成函数的递归调用,但和故事不同的是,在程序设计中,不可能无限递归下去,必须要有递归的结束条件。而且每次递归都应该朝着能够结束的条件去运行,直到满足条件时终止递归调用。
重点学习内容:
1.理解递归的概念;
2.掌握递归算法的实现要素;
3.掌握数值与非数值型递归的实现方法。
二、案例引入:结合实例“阶乘”讲解递归算法的特征和设计方法。
编写代码:
int fact(int n)
{ int value;
if (n==0)
value=1;
else
value=n*fact(n-1);
return value;
}
main()
{ printf(%d,fact(5));
}
分析执行过程:
前提:
原问题可以层层分解为类似的子问题,且子问题比原问题规模更小;
规模最小的问题具有直接解。
设计方法:
寻找分解方法:将原问题转化为子问题求解;
设计递归出口:根据规模最小的子问题确定递归终止条件。
三、案例引入:结合故事突出主题
结合hanoi典型实例,使学生能深入理解递归函数的设计方法,以及在实际问题中的应用,培养学生分析问题的能力。
设有三座塔座(A、B、C),在一个塔座(设为A)上有64个盘片,盘片不等,按大盘在下,小盘在上的顺序依次叠放。现要将A塔上的盘片借助于B塔,移到C塔上并保持同样顺序叠排,移动盘片时必须遵守以下规则:
1)每次只能移动一个圆盘;
2)圆盘可以插在A、B、C任意一个塔座上;
3)任何时候都不能将一个较大的圆盘放到 较小的圆盘之上。
实物演示:根据一段动画演示,观察并共同分析hanoi的移动步骤,并总结递归函数的分解方法和递归出口。
设计思想(三步法):
1)把A塔上的n-1个盘片借助C塔移至B塔;
2)把第n个盘片从A塔移至C塔;
3)把B塔上的n-1个盘片借助A塔移至C塔。
递归出口:当n=1时,无需借助,直接移动即可。
编写代码:根据算法设计思想编写程序代码。
#include stdio.h
int count=0;
void move(int n,char x,char z)
{
printf(%d:%c--%c\n,n,x,z);
count++;
}
void hanoi(int n,char x,char y,char z)
{
if(n==1)
move(1,x,z);
else
{
hanoi(n-1,x,z,y);
move(n,x
您可能关注的文档
- 广西公路工程试验检测员公路检测考试试题.doc
- 广西科教小学信息技术三年级教案.doc
- 硅酸钠生产及投资报告.doc
- 国际经济学简答论述.doc
- 国际贸易实务案例交易磋商.doc
- 国际贸易实务训练题.doc
- 国家开放大学杨校长寄语.doc
- 国家室内设计收费标准.doc
- 国考行测备考之言语理解.doc
- 国外情感教育理论与思想.doc
- 2024年证券分析与咨询服务项目投资申请报告代可行性研究报告.docx
- 2024年铬酸酐项目资金申请报告代可行性研究报告.docx
- 2024年清洁胶项目资金申请报告代可行性研究报告.docx
- 2024年肉松饼项目投资申请报告代可行性研究报告.docx
- 2024年陆上泵项目资金需求报告代可行性研究报告.docx
- 2024年未硫化复合橡胶及其制品项目资金需求报告代可行性研究报告.docx
- 2024年精密温控节能设备项目资金筹措计划书代可行性研究报告.docx
- 2024年汽车覆盖件模具项目资金筹措计划书代可行性研究报告.docx
- 宋词行书钢笔字帖.pdf
- 我的暑假生活作文三年级300字10篇.pdf
文档评论(0)