我们称数据结构是计算机科学中的一门专业基础课但它又有着不同于其他一些基础课的特点在于它有很强的综合性不仅仅涉及计算机软件研究包括操作系统编译程序等还与计算机硬件有着相当大的关系从编码理论到数据存储都离不开数据结构因此可以说数据结构是介于数学计算机硬件和计算机软件三者之间的一门核心课程所以《数据结构》这门课程对于学好计算机应用专业的其他后续课程起着非常关键的作用但是由于课程内容繁多许多内容有着相当的难度所以学好它并不是一件很容易的事情所以一个好的学习方法就显得尤其重要判断一个学习方法好坏的标准关键看这种学习方法是否适合于自己
大家在学习这么课程的过程中应该不断吸收总结归纳结合自己的特点找出一种对自己来说行之有效的学习方法这样学习起来就可以达到事半功倍本文是依据《数据结构》课程自身的特点已经以往的一些教学经验总结归纳得出一些学习方法上的建议和重点和难点分析希望能给广大学员带来启发从来使大家读完之后能够使自己的学习更加行之有效下面我们来逐步给大家讲解
学习本课程的一些方法上的建议
因为本课程的算法是用类C语言来描述的(算法的基本概念我们将在下面的内容介绍)类C语言是一种伪语言其语法与C语言在很大程度上是相似的所以我们需要掌握C语言和类C语言是学好数据结构的先决条件所以事先应该对C语言和类C语言有所了解
下面我来介绍一下本课程的基本内容
数据结构这门课程主要有以下几个内容
()线形结构——包括线形表栈队列和数组等内容
()非线形结构——包括树图等内容
()排序
()查找
这些内容基本上概括了整个数据结构课程的基本内容学员们在学习的过程中要注意比较它们之间的联系和不同点需要指出的是查找和排序是日常工作中经常遇到的操作因此在数据结构中我们也专门的章节给学员们加以介绍
我们要了解一下整个数据结构课程讲述的基本步骤这样我们就可以知道该如何学习书中的每一种数据结构
()逻辑结构——其特点是它独立与计算机的硬件结构的一种抽象的数学拓扑结构
()基本运算——即定义在某种逻辑结构上的具体操作每一种逻辑结构都对应于一个运算的集合在这里我们仅仅需要考虑的是每种运算的功能即只关心它做什么而不考虑如何去实现它
()存储结构——也就是逻辑结构在计算机中的具体实现它是一个依赖与计算机硬件的结构
()运算实现——运算只有和具体的存储结构相结合才能够得到实现因此它所关心的问题就是如何去实现某种具体的运算即让我们知道该怎么做
()算法评价——每一种运算实现的不同方法所对应的时间性能空间性能都是不同所以我们需要从这两个角度来考虑和评价我们所选择的运算实现方法的好坏
以上所列举的几项是每一种数据结构都需要讲述的而且每一种数据结构的这五个方面都是密切联系的而且不同数据结构在某一特定方面也有着相互之间的联系所以我们在学习的过程中要逐步学会一一加一比较加以归纳总结从而找出它们之间的相同点和不同点这样有助于加深对整个课程的理解并且在脑海中逐步形成一个完整的体系
提高解题能力的最佳途径是首先理解教材中介绍的各个算法这些算法大多数都是经典的同学学习和理会这些算法的含义和具体实现过程我们可以归纳总结出一些良好的基本解题思路方法和技巧