APP下载

“数据结构”教学方式探讨

2012-08-15文丨付

中国传媒科技 2012年2期
关键词:二叉树数据结构算法

文丨付 雯 李 响

《数据结构》是我国高等院校计算机专业的基础课,是信息与计算科学专业的专业课程,是计算科学的算法理论基础和软件设计基础。本课程不仅要锻炼学生的抽象思维能力和逻辑推理能力,还要锻炼学生的实践动手能力,让学生以后能更好的设计程序。

课程介绍

根据教学目的和考试大纲要求,主要介绍用计算机解决一系列非数值信息处理问题时所用的各种组织数据的方法,存储数据结构的方法以及在各种结构上执行操作的算法。除了了解其背景(如C或C++语言)外,主要内容如下:

1.介绍数据结构和算法等基本概念,让学生能初步了解。

2.理解线性表,它是最常用、最简单、最基本的一种线性结构。

3.理解栈与队列的特点,它们是特殊的线性表,将之与线性表比较,例如线性表有前驱与后继,栈有进栈与出栈等,并用它们解决相应的问题,例如用栈解决递归问题,用队列解决缓冲区和调度等问题。

4.理解串和数组的基本概念和存储结构,还有矩阵的压缩存储等。

5.理解树、二叉树的各种性质与存储结构,以及树、二叉树、森林之间的转换及前中后的三种遍历方式,二叉树应用(二叉树的线索,哈夫曼树)等,并可以进行相应的递归和非递归的算法设计。

6.理解图的定义、数据结构以及存储方式,掌握图的深度优先搜索遍历方法和广度优先搜索遍历方法,最小生成树的建立方法和最短路径的求解方法等。

7.理解并掌握静态查找:顺序查找、二分查找、分块查找;理解并掌握动态查找:二叉排序树查找、插入和删除;掌握哈希表算法和计算各种查找的算法复杂度。

8.理解各种排序方法的特点、原理、时间复杂度的分析和实现算法。

激发学生兴趣

在教学过程中,学生才是教学的主体,教师要做的就是要培养教育学生。在这门课程上,教师就要让学生了解到《数据结构》课程的性质和重要性,以达到让学生重视这课程的目的。

如何让学生的兴趣提高一直是广大教师所探寻的一个课题,为此常陷入沉思。首先,就是要激发学生的兴趣异或者是学生的求知欲。对于初学者而言,这门课特点就是概念、算法较多,理论逻辑性较强,学生不知从何学起,容易起厌学心理,或被动的学习,所以,教师上课时不仅要让学生明确学习的目的,还要教给他们如何入手这门课程的方法,采取恰当的方式帮助学生理解知识点,让学生对这门课程产生信心。

兴趣对人是非常有作用的,学生的学习兴趣一旦被激发,就会有聚精会神的注意力,愉快的心理,从而提高教学的质量。初始授课时,学生对此都很陌生,所以教师要先入为主,用好的态度去面对学生,并准确把握住学生的心理变化,让抽象的概念转化为具体的生活上常见的实例甚至有趣的游戏让学生主动去做,主动去想,主动去问。

到达授课中期时,也会因为课程的深入而觉得理论抽象性太强而慢慢失去了兴趣,最后会什么都没学到,更不用说怎么去用所学的知识解决实际问题。所以让学生的兴趣不中断,也是要特别注意的。

在教学中,教师是非常重要不可缺少的。所以教师自身的能力也相当重要,要激发学生的兴趣,教师的口语和态势语都要好好的运用。运用得当将会大大的激发学生的学习热情,从而改善教学效果。在课堂上有趣的话语,有趣动作都会让学生的注意力集中,但又不能偏题,所以必要的准备必不可少。例如,在讲授线性表中的链式存储结构中,可以直接以手上的手表为例进行讲解,手表一解开是一个带有头结点的单链表,戴上后是一个循环链表。又例如,让一个学生为另一个学生提出课程的问题也是一种教学方式。这样会让整个班级的气氛提高。教师的语音语调应该积极地感染学生,而不是消极的情绪,一个好的生活态度也会让自己让学生开心。

掌握知识结构和特点

数据结构主要讲授数据的逻辑结构和存储结构,要让学生理解“数据结构+算法=程序”的思想。数据结构还要结合CC++语言的基本概念来授课,因此,必要的CC++语言要讲。数据结构中算法的难点在于它们的抽象性。首先,要让学生了解每一种数据结构的特点以及表现形式,次之,要让学生理解存储方式在计算机中反映出数据结构的逻辑性,不同的存储方式有不同的优缺点。

数据结构也是一门理论与实践相结合的课程。在学习过程中,学生比较困扰的是理论不能与实践相结合,经常费了好大的功夫把理论知识学会了,却不知道怎么去运用,所以在教程上,首先要突出重点,分散难点,适当选择有代表性、难度不大、综合性强的算法,讲完后给出一个或多个与课程相关的问题让学生独立思考、见解,使学生现学现卖,一来加深学生对所学知识的理解,

又能使学生学会灵活运用知识,从而让学生有了一种成就感,也会大大增强对这门课程的兴趣以及感悟。而后让学生上机编程,调试。让学生在实验中加深对数据结构的处理方法,同时也锻炼学生的编写和调试程序的能力,提高动手操作能力,增强学习动力和信心。

在课程设计上,通过前面学生的兴趣以及能力的增强,也要逐渐加强难度,这样从课堂到课程设计,学生才会在实践中逐渐加强加深对理论的理解。在课堂上,教师也不要一味的自己讲授,可以将许多的知识点和算法先保留,引导学生自己动脑去探索、发现、领悟,让学生自己获得新知识。然后再给与其帮助,这样能锻炼到学生的自主独立解决问题的能力,发展学生的逻辑思维能力。

结语

数据结构课程在学科专业方面是非常重要的,其中的基本思想是设计程序的经脉,贯通总体,在教学过程中,我们要从实际角度出发,探讨教学难点,希望学生不仅能理解理论知识,还要有实际动手设计能力。

猜你喜欢

二叉树数据结构算法
基于双向二叉树的多级菜单设计及实现
基于故障二叉树的雷达发射机故障诊断*
二叉树创建方法
数据结构线上线下混合教学模式探讨
一种基于SVM 的多类文本二叉树分类算法∗
为什么会有“数据结构”?
Travellng thg World Full—time for Rree
进位加法的两种算法
一种改进的整周模糊度去相关算法
高职高专数据结构教学改革探讨