《数据结构》学习方法探析.docVIP

  • 16
  • 0
  • 约3.55千字
  • 约 6页
  • 2016-11-23 发布于北京
  • 举报
《数据结构》学习方法探析.doc

《数据结构》学习方法探析   摘要:《数据结构》是计算机科学中的一门专业基础课,它不同于其它一些基础课的特点在于其有很强的综合性。从数据结构教学出发,针对存在的问题,从教学方式方法等方面进行了研究和探讨。   关键词关键词:数据结构;算法;程序设计   中图分类号:TP3-0文献标识码:A文章编号文章编号2013)011002202   0引言   《数据结构》不仅是计算机各专业的一门重要的专业基础课,而且是其它理工专业的热门选修课,在整个课程体系中处于承上启下的核心地位。数据结构这门课程旨在介绍各种重要的数据结构及有关算法,使学生对数据结构有全面的认识并能熟练运用于程序设计,为今后从事科研和开发打下良好的基础。这门课要求学生掌握数据结构的概念及有关算法,如线性表、数组、树、图、排序、查找、文件等,并能运用这些常用的算法去解决一些实际问题,为其它专业课提供程序设计基础。   通过《数据结构》的学习,使学生了解数据对象的特性,学会数据组织的方法和把现实世界中的问题在计算机内部表示的方法,以培养学生良好的程序设计技能,并初步掌握算法的时间和空间复杂度的分析技巧,以便在实际的工作中,能根据工作中的数据对象特性,选择适当的数据结构和存储结构以及相应的算法。同时使学生了解本课程及内容在计算机科学中的应用和地位,为编译原理、操作系统、数据库原理等后续专业课的学习打下坚实的理论基础和实践基础。   1《数据结构》难学原因   很多同学都觉得学好《数据结构》很难,以笔者的经验分析原因如下:   (1)大多数学校《数据结构》课程是安排在C语言程序设计之后,而C语言虽然相对而言是比较简单的计算机语言,但作为一门入门语言,能够学好的同学本身就不多,学精通的就更少了。特别是结构体、指针以及函数的应用,而《数据结构》中都是用的结构体数组、指针,而且都是以函数形式出现的。对于抽象的数据存储结构、消化算法,将算法转化为C语言函数,并要编写出运行该函数的主程序,这无疑是摆在学生面前的第一道难关。   如果C语言的基础没打牢固,学习数据结构当然就会觉得很难。   (2)《数据结构》中的算法较多,在数据结构的教学中,很多学生反映算法多,而且其中的部分算法非常不容易理解。对于一个算法,我们首先要了解它的思想,然后分析它的概要,接下来再考虑细节,然后读代码,要花很长时间才能彻底搞清楚一个算法。总之,学生要多下功夫,往往这个算法刚理解得差不多了,又来了下一个算法。比如讲到图这种数据结构时,图的深度遍历算法、图的广度遍历算法、生成树算法接踵而来,学生要学好,只有刻苦学习。   (3)学生掌握了算法,还要将算法转化为程序代码,再写出主函数到调试运行,需要很扎实的程序设计功底,这要求学生需掌握好某种程序设计语言(如C语言)才能做得到。因为实践中的问题往往比平时的习题要复杂得多。实践使学生所学的书本知识“活”起来,起到深化理解和灵活掌握教学内容的目的。由于上述几点原因,致使学生学习《数据结构》的难度变大。   2学好《数据结构》方法   《数据结构》是计算机课程中的一门专业基础课,但它又有着不同于其它一些基础课的特点,在于它有很强的综合性,不仅仅涉及计算机软件研究,包括“操作系统”、“编译原理”等,还与计算机硬件有着相当大的关系,从编码理论到数据存储都离不开数据结构。因此可以说,《数据结构》是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。但是由于课程内容繁多,许多内容有着相当的难度。所以学好它并不是一件很容易的事情。那么,如何才能学好《数据结构》呢?   (1)立足课本。学好课本上的理论知识。《数据结构》不是一种计算机语言,不会介绍新的关键词,而是通过学习可以高效地组织数据,设计出良好的算法。学习这门课,要熟悉对算法思想的一些描述手段,包括文字描述、图形描述和计算机语言描述等。因此,计算机语言基础是必须的,因为它提供了一种重要的算法思想描述手段——机器可识别的语言描述。   (2)抽象问题具体化 。《数据结构》的一大特点是比较抽象,因此学生较难理解,所以要想办法把抽象的问题具体化,一旦问题具体化了,学生理解起来就相对容易。例如本课程一开始就介绍了4种基本的逻辑结构:①集合结构:实体间除了“属于同一个集合”的关系外,再没有其它的关系;②线性结构:实体间除了“属于同一个集合”外,还有一对一的关系;③树型结构:实体间有一对多的关系;④图型结构:实体间存在多对多的关系。这4种抽象的逻辑结构形式是人们通过分析研究大量的实际问题而抽象出来的数据结构特性,很多同学很难理解,因此,可以先从实例开始讨论用计算机解决具体问题的各个步骤:①提取与此问题相关的数据信息并分析数据特性;②把该问题中的各种数据按某种方式存储在计算机中;

文档评论(0)

1亿VIP精品文档

相关文档