1.1 数据{数值类型(整型、实型…),非数值类型(字符、声音、图像、视频…)}
1.2数据项—组成—>数据元素(a.k.a记录)—组成—>数据对象—组成—>数据
数据结构(相互之间存在一种或多种特定关系的数据元素的集合)
|
|
|
|
|
|
逻辑结构 |
|
使用示意图的时候,将每个数据元素看作结点,用圆圈表示 |
物理结构 |
|
|
|
集合结构 |
元素平等,唯一联系及共同属性是"同属一个集合",类比数学集合 |
|
顺序存储结构 |
将数据元素存放在地址连续的存储单元里面,且数据间的逻辑关系和物理关系是一致的,类比数组 |
|
线性结构 |
数据元素之间是一对一关系,类似二元关系中的反对称:a->b->c->d->e |
|
链接存储结构 |
针对时常需要变化的结构(比如现实生活中排队时有人不排了,有人插队,这时就无法用顺序存储结构)。即把数据元素存放在任意的存储单元里面,这组存储单元可以是连续的,也可以是不连续的 |
|
树形结构 |
类比图论
|
|
|
|
|
图形结构 |
类比图论
|
|
|
|
1.4 抽象数据类型(Abstract Data Type,ADT)
整型就是一个ADT,尽管可能在不同计算机上实现方法不一样,但由于其定义的数学特性相同,故在编程者看来他们都是相同的。故所谓"抽象"在于数据类型的数学抽象特性。且ADT还可以包括我们自己定义的数据类型。