程序=数据结构+算法

1、数据结构的基本概念和术语(数据、数据元素、数据项、数据对象)

(1)数据:能输入计算机并且被计算机处理的各种符号的集合,数据包括数值型数据(整数、实数等)和非数值型数据(文字、图像、图形、声音)。数据是信息的载体,是对客观事物的符号化的表示,能够被计算机识别存储和加工。

(2)数据元素:是组成数据的基本单元,在计算机中通常作为一个整体进行考虑和处理。如,一个学生表中的一行,包含一个学生的所有信息,有时候,数据元素也简称为元素、记录结点和顶点

(3)数据项:构成数据元素不可分割的最小单元。如,一个学生表中的一行数据,包含了几个数据项,学号、姓名、性别等等。

这三个的关系为:数据>数据元素>数据项

(4)数据对象:性质相同的数据元素的集合,是数据的一个子集。如,学生表是由若干条学生数据组成的。整数数据对象是集合N={0,±1,±2....}

比较数据元素和数据对象的区别:  数据元素是组成数据的基本单元,与数据的关系是集合的个体;数据对象是性质相同的数据元素的集合,与数据的关系是集合的子集


2、数据机构

2.1定义:(1)数据元素之间的关系称为结构(2)相互之间存在一种或多种特定关系的数据元素集合(3)数据结构是带结构的数据元素的集合

2.2 数据结构包括的三个方面:(1)、数据元素之间的逻辑关系,也称逻辑结构(2)、数据元素及其关系在其内存中的表示(又称为印象)称为数据的物理结构和存储结构(3)、数据的运算和实现

2.3数据结构的两个层次    

关于数据结构的基础概念_数据结构

两个层次的关系(1)存储结构是逻辑关系的映像与元素本身的映像(2)逻辑结构是数据结构的抽象,存储结构是数据结构的实现,(3)两者综合建立了数据元素之间的结构关系


3、逻辑结构与存储结构的分类

3.1、逻辑结构的分类

关于数据结构的基础概念_存储结构_02

关于数据结构的基础概念_数据结构_03

3.2 存储结构的分类:

(1)顺序存储结构:用一组连续的存储单元,依次存储数据元素,数据元素之间的逻辑关系由元素的存储位置来表示,如C语言中的数组

(2)链式数据结构:用一组任意的(可以连续可以不连续)存储单元存储数据元素,数据元素之间的关系用指针表示,如C语言的指针。在存储每一个元素本身的时候,还存储下一个元素的地址

(3)索引存储结构:在存储节点信息的时候,还附加索引表,如通讯录,建立一个索引(目录)找的快一点

(4)散列存储结构:根据节点的关键字直接计算出结点的存储地址。