本章思维导图
1.数据结构的基本概念
(1)数据是信息的载体,是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据是计算机程序加工的原料。
(2)数据元素是数据的基本单位,通常作为一个整体进行考虑和处理。一个数据元素可由若干个数据项组成,数据项是构成数据元素的不可分割的最小单位。
(3)数据对象是具有相同性质的数据元素的集合,是数据的一个子集。
(4)数据类型是一个值的集合和定义在此集合的一组操作的总称。
(5)数据结构是相互之间存在一种或多种特定关系的数据元素的集合。任何情况中,数据元素都不是孤立存在的,它们之间存在某种关系,这种数据元素相互之间的关系称为结构。数据结构包括三方面的内容:逻辑结构、存储结构和数据的运算。
2.数据结构三要素
(1)数据的逻辑结构是指数据元素之间的逻辑关系,即从逻辑关系上描述数据。它与数据的存储结构无关,是独立于计算机的。数据的逻辑结构分为线性结构和非线性结构,线性表、栈、队列、串、数组是典型的线性结构;集合、树和图是典型的非线性结构。
数据的逻辑结构分类如图所示。
(2)数据的存储结构是指数据结构在计算机中的表示,也称物理结构。它包括数据元素的表示和关系的表示。数据的存储结构是用计算机语言实现的逻辑结构,它依赖于计算机语言。数据结构的存储结构主要有顺序存储、链式存储、索引存储和散列存储。
(3)数据的运算
施加在数据上的运算包括运算的定义和实现。运算的定义是指针对逻辑结构的,指出运算的功能;运算的实现是针对存储结构的,指出运算的具体操作步骤。
3.算法
(1)算法的定义
算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中的每条指令表示一个或多个操作。
(2)算法的五个特征:有穷性、确定性、可行性、输入和输出。
(3)算法效率的度量:时间复杂度和空间复杂度。