本章主要介绍了数据结构的一些基本概念和算法的描述及分析方法。数据结构是指数据及其之间的相互关系,可以看作是相互之间存在一种或多种特定关系的数据元素的集合。因此,可以把数据结构看成带结构的数据元素的集合。数据结构包括:数据元素之间的逻辑关系,即数据的逻辑结构;数据元素及其关系在计算机存储中的存储方式,即数据的存储结构。数据的逻辑结构主要分为集合、线性结构、树形结构、图形结构。数据的存储结构包括顺序存储结构、链式存储结构、索引存储结构和哈希存储结构。
算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每条指令表示一个或多个操作;一个算法具有以下5个重要的特性:有穷性、确定性、可行性、输入和输出。一个算法用高级语言实现以后,在计算机上运行时所消耗的时间与很多因素有关:依据算法所选择的具体策略、问题的规模、书写程序的语言、机器代码的质量、机器执行指令的速度。可以认为一个特定算法的“执行工作量”只依赖于问题的规模。从时间和空间两方面来衡量一个算法效率,一个算法的执行时间可以看成基本运算执行的次数,一个算法的空间复杂度是指算法运行所需的存储空间。
在掌握以上概念的同时,读者应当重点掌握从时间和空间两方面评价一个算法好坏的方法,以便在自己设计一个算法时,能够达到效率上的最优化。