数据结构课程集中讨论软件开发过程中的设计阶段同时设计编码和分析阶段的若干基本问题此外为了构造出好的数据结构及其实现还需考虑数据结构及其实现的评价与选择因此数据结构的内容包括三个层次的五个要素如图所示
数据结构的核心技术是分解与抽象通过分解可以划分出数据的三个层次;再通过抽象捨弃数据元素的具体内容就得到逻辑结构类似地通过分解将处理要求划分成各种功能再通过抽象捨弃实现细节就得到运算的定义上述两个方面的结合使我们将问题变换为数据结构这是一个从具体(即具体问题)到抽象(即数据结构)的过程然后通过增加对实现细节的考虑进一步得到存储结构和实现运算从而完成设计任务这是一个从抽象(即数据结构)到具体(即具体实现)的过程熟练地掌握这两个过程是数据结构课程在专业技能培养方面的基本目标
数据结构作为一门独立的课程在国外是从年才开始的但在此之前其有关内容已散见于编译原理及操作系统之中世纪年代中期美国的一些大学开始设立有关课程但当时的课程名称并不叫数据结构年美国唐欧克努特教授开创了数据结构的最初体系他所着的《计算机程序设计技巧》第一卷《基本算法》是第一本较系统地阐述数据的逻辑结构和存储结构及其操作的着作从世纪年代末到年代初出现了大型程序软件也相对独立结构程序设计成为程序设计方法学的主要内容人们越来越重视数据结构从年代中期到年代各种版本的数据结构着作相继出现目前数据结构的发展并未终结一方面面向各专门领域中特殊问题的数据结构得到研究和发展如多维图形数据结构等;另一方面从抽象数据类型和面向对象的观点来讨论数据结构已成为一种新的趋势越来越被人们所重视
[] [] [] [] []