启发式授课法在数据结构教学中应用

启发式授课法在数据结构教学中应用摘要:存储结构和基于各种存储结构上基本操作的算法实现是数据结构课程的重点教学内容。分析了上述内容教学过程中存在的问题,以有向图十字链表存储结构和Prim算法程序实现的教学过程为例,探讨了启发式授课方法在数据结构课堂教学中的运用,实践证明取得了良好的教学效果。关键词:数据结构;课堂教学;启发式;存储结构;算法实现作者简介:余艳(1980-),女,湖北襄阳人,武汉科技大学理学院,讲师;刘燕丽(1980-),女,河南西平人,武汉科技大学理学院,讲师。(湖北武汉430065)基金项目:本文系武汉科技大学教学研究项目(项目编号:2012X51)、武汉科技大学教学研究项目(项目编号:2013x065)的研究成果。分类号:G642.0文献标识码:A:1007-0079(2014)08-0098-02数据结构是信息类相关专业本科生必修的专业基础课,该课程探讨了各种经典数据结构的逻辑特性、存储结构以及相关算法,为后续课程提供了理论基础和技术支持。数据结构是课堂教学与实践教学并重的课程,通常开设在本科二年级上学期,对于大学低年级本科生而言,课堂学习仍是获取知识的重要渠道。文献[1]指出在课堂教学中教师通过不断设疑和释疑,可以更好地展示自己的思维过程并揭示知识的来龙去脉,并引起教师教与学生学的思维共振。本文以武汉科技大学信息与计算科学系为例,分析数据结构课程存储结构及算法实现的课堂教学中遇到的问题,并针对这些问题探讨启发式授课在数据结构课堂教学中的实际运用方法及效果。一、课堂教学中存在的问题第一,数据结构教材对知识的讲解严谨简洁,但是对知识的表达过于生硬,缺少对问题背景、存储结构和算法设计思想的讨论;第二,部分学生在学习过程中习惯记忆各种存储结构的表示方法,却未理解各种存储结构的设计原理,这些学生有可能获得比较高的卷面分数,却难以在未来学习和工作中灵活运用数据结构知识;[2]第三,数据结构的学习过程也是学生进行复杂程序设计的训练过程,部分学生反映可以轻松理解数据结构中的算法策略,但对从算法到代码的转换工作却感到困难。二、存储结构的启发式教学数据结构课程讲授了线性表、栈、队列、串、数组、广义表、二叉树和图等经典存储结构,如果直接将各种存储方法灌输给学生,势必造成学生知其然而不能知其所以然,且容易导致课堂教学中问题2的发生。采用不断创造问题情境的方法激发学生思考,使其主动参与到存储结构的设计过程中,则可以加深学生对存储方法的理解,同时为将来根据应用需求自行设计存储结构积累经验。下面以有向图的十字链表为例讨论存储结构教学中的启发式讲授方法。启发问题1:在正式讲授十字链表结构之前,询问学生已学习的邻接表及逆邻接表在计算出度和入度时各有什么特点。通过回忆学生会发现,使用邻接表时通过遍历依附于顶点的单链表便可以轻松地计算出该顶点的出度,但计算入度则需要遍历整个邻接表结构;使用逆邻接表则恰恰相反,可以轻松计算出各顶点的入度,但计算出度则需遍历整个逆邻接表结构。接下来教师引出,为了弥补邻接表和逆邻接表各自的不足,人们考虑设计另外一种存储结构,通过将邻接表和逆邻接表相结合从而得到十字链表结构。这样讲解可以使学生明白十字链表结构的设计初衷,同时领悟到各种存储结构的存在都有潜在需求。启发问题2:十字链表的结构是怎样的呢?首先引导学生分析顶点的特点并设计其存储结构。对于任何数据结构而言,设计它的存储结构无非是考虑如何存储数据元素以及元素间的关系。元素的存储往往简单,而关系的设计则需要动些脑筋。有向图中的顶点即数据元素,它们具有相同的特性,结构整齐划一,因此可以考虑使用顺序结构存储所有顶点。每个顶点元素的结构就非常简单了,如图1(a)所示,其中data用于存放顶点信息。启发问题3:弧结点的结构又应该是怎样的呢?根据十字链表的结构定义,对于有向图中的每个顶点有一个结点,每一条弧也有一个结点。这里有必要引导学生思考,怎样用一个结点表示一条弧。学生会想到,表示一条弧需要给出弧尾和弧头。那么进一步引导学生思考,在弧结点中如何表示弧尾和弧头?学生会给出多种方案,比如直接存储弧...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

确认删除?