数据结构
- 数据元素不是孤立出现的,元素之间有着不同关系,这些关系就是结构
- 相互之间存在一种或多种特定关系的数据元素集合
包括的一些内容
- 数据元素之间的逻辑关系,也称为()
- 数据元素及其关系在内存中的表示(映像),称为数据的或
- 数据的运算和实现,即对数据元素可以施加的操作以及这些操作在相应的存储结构上的实现。
逻辑结构
- 描述数据元素之间的逻辑关系
- 与数据的存储无关,独立于计算机
- 从具体问题中抽象出来的数学模型
物理结构(存储结构)
- 数据元素及其关系在计算机存储器中的结构(存储方式)
- 是数据结构在计算机中的表示
逻辑结构与存储结构的关系
- 存储结构是逻辑关系的映象与元素本身的映象
- 逻辑结构是数据结构的抽象,存储结构是数据结构的实现
- 两者综合,建立了数据元素之间的结构关系。
逻辑结构的种类
划分方法一
有且仅有一个开始和一个终端结点,并且所有结点都最多只有一个直接前趋和一个直接后继。
例如:
一个结点可能有多个直接前趋和直接后继。
例如:
划分方法二 :四类基本逻辑结构
结构中的数据之间除了同属于一个集合的关系外,无任何其它关系。
结构中的数据元素之间存在着一对一的线性关系。
结构中的数据元素之间存在着一对多的层次关系。
结构中的数据元素之间存在着多对多的任意关系。
存储结构的种类
用一组的存储单元存储数据元素,数据元素之间的逻辑关系由元素的来表示
C语言中用数组来实现顺序存储结构
char s[2][6] = {"hello","world"}
用一组的存储单元存储数据元素,数据元素之间的逻辑关系用来表示
C语言中用指针来实现链式存储结构
指针存储的是下一个元素的地址
char *p //p 就是保存地址的指针