1.5.1 数据结构课程的地位
数据结构是计算机理论与技术的重要基石,是计算机科学的核心课程。作为一门独立的专业基础课程,数据结构在国外是从1968年才开始设立的。在那之前,它的某些内容曾在其他课程,如表处理语言中有所阐述。
1968年在美国一些大学的计算机系的教学计划中,虽然把数据结构规定为一门课程,但对课程的范围仍没有做明确规定。当时,数据结构几乎与图论,特别是与表、树的理论为同义词。随后,数据结构这个概念被扩充到包括网络、集合代数论、格、关系等方面,从而变成了现在称为离散数学的内容。
然而,由于数据必须在计算机中处理,因此,不仅考虑数据本身的数学性质,而且还必须考虑数据的存储结构,这就进一步扩大了数据结构的内容。近年来,随着数据库系统的不断发展,在数据结构课程中又增加了文件管理的内容。
1968年,美国的Donald.E.Knuth开创了数据结构的最初体系,他所著的《计算机程序设计艺术》第一卷《基本算法》是第一本较系统地阐述数据的逻辑结构和存储结构及其操作的著作。
从20世纪60年代末到70年代初,出现了大型程序,软件也相对独立,结构化程序设计成为程序设计方法学的主要内容,人们越来越重视数据结构,认为程序设计的实质是对确定的问题选择一种好的结构,加上设计一种好的算法。从20世纪70年代中期到80年代初,各种版本的数据结构著作就相继出现了。
1.5.2 数据结构课程的重要性
目前在我国,数据结构已经不仅仅是计算机专业的核心课程之一和计算机考研的专业基础课程之一,也是非计算机专业的主要选修课程之一。
“数据结构”课程在计算机科学中是一门综合性的专业基础课。“数据结构”不仅仅涉及计算机硬件的研究范围,特别是编码理论、存储装置和存取方法等,还与计算机软件的研究有着更为密切的关系,无论是编译程序还是操作系统,都涉及数据元素在存储器中的分配问题。“数据结构”课程是操作系统、数据库原理、编译原理、人工智能、算法设计与分析等课程的基础,“数据结构”课程是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。在计算机科学与技术领域中,“数据结构”不仅是一般程序设计(特别是非数值程序设计)的基础,而且是设计和实现编译程序、操作系统、数据库系统和大型应用程序的重要基础。
……
展开