第1章 绪论
1.1 引言
1.1.1 为什么要学习数据结构
“数据结构”是计算机相关事业的一门专业基础课,它可以为后续专业课程的学习提供必要的知识和技能准备,是十分重要的核心课程。
计算机相关事业的很多后续课程都要用到本书所涉及的知识和技能,例如,编译原理要使用堆栈、散列表及语法树,操作系统会用到队列、存储管理表及目录树,数据库系统将运用线性表、多链表以及索引树等基本数据结构及其相关的算法。本课程讨论的其他一些数据结构,如广义表、集合以及图的知识也是很多领域经常涉及的。所有的计算机系统软件和应用软件都要用到各种类型的数据结构。因此,要想更好地运用计算机来解决实际问题,仅掌握几种计算机程序设计语言是难以应付众多复杂的课题的,要想有效地使用计算机、充分发挥计算机的性能,还必须学习和掌握数据结构的有关知识。
数据结构作为一门独立的课程,在国外是从1968年才开始的,但在此之前,其有关内容已散见于编译原理及操作系统之中。20世纪60年代中期,美国的一些大学开始设立有关课程,但当时的课程名称并不叫数据结构。1968年美国唐·欧·克努特教授开创了数据结构的*初体系,他所著的《计算机程序设计技巧》**卷《基本算法》是**本较系统地阐述数据的逻辑结构和存储结构及其操作的著作。从20世纪60年代末到70年代初,出现了大型程序,软件也相对独立,结构程序设计成为程序设计方法学的主要内容,人们越来越重视数据结构。从70年代中期到80年代,各种版本的数据结构著作相继出现。目前,数据结构的发展并未终结,一方面,面向各专业领域中特殊问题的数据结构得到研究和发展,如多维图形数据结构等;另一方面,从抽象数据类型和面向对象的观点来讨论数据结构已成为一种新的趋势,越来越被人们重视。
……