【数据结构】
- 数据:是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并且被计算机程序处理的符号的总称。例如:整数、实数、字符串。
- 数据元素:数据元素是数据的基本单位。在计算机程序中通常将其作为一个整体进行考虑和处理。有时,一个数据元素可以由多个数据项组成。例如:一本书的书目信息为一个数据元素,而书目信息的每一项为一个数据项。
- 数据项:数据项是数据结构中讨论的最小单位,是数据记录中最基本的、不可分的数据单位。
- 数据对象:数据对象是性质相同的数据元素的集合,是数据的一个子集。例如:大写字母就是一个数据对象。
- 数据结构:数据结构是指相互之间存在一种或多种特定关系的数据元素的集合,数据结构包括三方面的内容:逻辑结构、存储结构和对数据的运算。
【数据的逻辑结构】:数据的逻辑结构是对数据之间关系的描述,它与数据的存储结构无关,同一种逻辑结构可以有多种存储结构。归纳起来数据的逻辑结构主要由以下两大类:
- 线性结构:线性结构是数据元素有序集合,是一对一关系
需满足4个条件:
1.必存在唯一一个第一个元素
2.必存在唯一一个最后一个元素
3.除最后一个元素外,别的元素都有唯一一个后继
4.除第一个元素之外,其他数据元素均有唯一的前驱。
- 非线性结构:是一对多关系,又可以细分为树形结构和图形结构。
【数据的物理结构(存储结构)】:
是逻辑结构在计算机中的表示。它包括数据元素的表示和关系的表述。当数据元素是由若干数据项构成的时候,数据项的表示称为数据域。例如:一个链表结点,结点包含值域和指针域。
数据元素之间的关系在计算机中有【顺序映像】和【非顺序映像】。对应两种不同的存储结构分别是【顺序存储结构】和【链式存储结构】
1.【顺序存储方法】:逻辑上的相邻结点存在物理位置上的相邻的存储单元。
2.【链式存储方法】:不要求物理位置上相邻,用附加的指针表示逻辑关系。
3.【索引存储方法】:建立索引表来标示结点的地址。索引项的一般形式<K,V>
4.【散列存储方法】:根据结点的关键字通过散列函数直接计算出该结点的存储地址。这种存储方法本质上是顺序存储方法的拓展。
【算法的基本概念】:
- 算法:由基本运算及规定的运算顺序所构成的完整的解题步骤,或者堪称按照要求设计好的有限的确切的计算序列。
- 算法的特性:有穷性、确定性、输入、输出、可行性。
- 算法的设计目标:正确性、可读性、健壮性、算法效率(高效率低存储)。