欢迎来到天天文库
浏览记录
ID:9008575
大小:95.50 KB
页数:6页
时间:2018-04-14
《学习数据结构的意义和作用》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、学习数据结构的意义和作用董建寅罗远(上海金融学院信息管理系,201209)引言为什么要学习数据结构?数据结构是否是一门纯数学课程?它在专业课程体系中起什么样的作用?许多学生学完后也茫然一片,为此我们很有必要探讨一下学习数据结构的意思和作用。众所周知,计算机科学是一门研究数据表示和数据处理的科学。数据是计算机化的信息,它是计算机可以直接处理的最基本和最重要的对象。无论是进行科学计算或数据处理、过程控制以及对文件的存储和检索及数据库技术应用等,都是对数据进行加工处理的过程。因此,要设计出一个结构好效率高的程序,必须研究数据
2、的特性及数据间的相互关系及其对应的存储表示,并利用这些特性和关系设计出相应的算法和程序。1学习数据数据结构的意义数据结构是计算机科学与技术专业、计算机信息管理与应用专业,电子商务等专业的基础课,是十分重要的核心课程。所有的计算机系统软件和应用软件都要用到各种类型的数据结构。因此,要想更好地运用计算机来解决实际问题,仅掌握几种计算机程序设计语言是难以应付当前众多复杂的课题。要想有效地使用计算机、充分发挥计算机的性能,还必须学习和掌握好数据结构的有关知识。打好“数据结构”这门课程的扎实基础,对于学习计算机专业的其他课程,如
3、操作系统、数据库管理系统、软件工程、编译原理、人工智能、图视学等都是十分有益的。2为什么要学习数据结构在计算机发展的初期,人们使用计算机的目的主要是处理数值计算问题。当我们使用计算机来解决一个具体问题时,一般需要经过下列几个步骤:首先要从该具体问题抽象出一个适当的数学模型,然后设计或选择一个解此数学模型的算法,最后编出程序进行调试、测试,直至得到最终的解答。例如,求解梁架结构中应力的数学模型的线性方程组,可以使用迭代算法来求解。由于当时所涉及的运算对象是简单的整型、实型或布尔类型数据,所以程序设计者的主要精力是集中于程
4、序设计的技巧上,而无须重视数据结构。随着计算机应用领域的扩大和软、硬件的发展,非数值计算问题越来越显得重要。据统计,当今处理非数值计算性问题占用了85%以上的机器时间。这类问题涉及到的数据结构更为复杂,数据元素之间的相互关系一般无法用数学方程式加以描述。因此,解决这类问题的关键不再是数学分析和计算方法,而是要设计出合适的数据结构,才能有效地解决问题。下面所列举的就是属于这一类的具体问题。例1:图书馆信息检索系统。当我们根据书名查找某本书有关情况的时候;或者根据作者或某个出版社查找有关书籍的时候,或根据书刊号查找作者和出
5、版社等有关情况的时候,只要我们建立了相关的数据结构,按照某种算法编写了相关程序,就可以实现计算机自动检索。由此,可以在图书馆信息检索系统中建立一张按书刊号顺序排列的图书信息表和分别按作者、书名、出版社顺序排列的索引表,如图1.1所示。由这四张表构成的文件便是图书信息检索的数学模型,计算机的主要操作便是按照某个特定要求(如给定书名)对图书馆藏书信息文件进行查询。诸如此类的还有学生信息查询系统、商场商品管理系统、仓库物资管理系统等。在这类文档管理的数学模型中,计算机处理的对象之间通常存在着的是一种简单的线性关系,这类数学模
6、型可称为线性的数据结构。书刊号书名作者出版社书架编号7-302-02368-3数据结构严蔚敏清华大学p302-419-25-301-00128-1线性代数李志中复旦大学k203-048-17-309-01408-2数据结构蔡子经高校出版社p302-428-55-303-01654-3线性代数赵坚清华大学k205-046-26-506-04314-2离散数学左孝凌复旦大学t-304-056-27-406-03416-1数据结构李有亮上海教育出版社p302-433-47-406-01256-2计算机组成顾浩清华大学w306
7、-224-26-507-014654-1离散数学杨文杰高校出版社t-306-433-57-408-056118-2计算机组成顾浩上海教育出版社w-305-036-6(a)图书信息数据结构1,3,6线性代数2,4离散数学5,8计算机组成7,9(c)书名索引表蔡子经3顾浩7,9李志中2李有亮6严蔚敏1杨文杰8左孝凌5赵坚4(b)作者索引表清华大学1,4,7复旦大学2,5高校出版社3,8上海教育出版社6,9(d)出版社索引表图1.1图书馆信息检索例2:八皇后问题。在八皇后问题中,处理过程不是根据某种确定的计算法则,而是利用试
8、探和回溯的探索技术求解。为了求得合理布局,在计算机中要存储布局的当前状态。从最初的布局状态开始,一步步地进行试探,每试探一步形成一个新的状态,整个试探过程形成了一棵隐含的状态树。如图1.2所示(为了描述方便,将八皇后问题简化为四皇后问题)。回溯法求解过程实质上就是一个遍历状态树的过程。在这个问题中所出现的树也是一种数据结构,它可以
此文档下载收益归作者所有