数据结构学习笔记(1)—— 绪论
本文主要参考书籍为《大话数据结构》第一章,绪论。
目录
四、数据类型——用来说明变量/表达式的取值范围和所能进行的操作
一、基本概念
1、数据元素:组成数据的、有一定意义的基本单位。比如人类的数据元素是人;牲畜的数据元素是猪、牛、羊……
2、数据项:组成数据的最小单位,不可分割。比如人这个数据元素的数据项可以是鼻子、眼睛、嘴……;也可以是性别、姓名、年龄……
真正讨论问题时,数据元素才是我们的着眼点。
3、数据对象:数据的子集,性质相同的数据元素的集合。
4、数据结构:相互之间存在一种或多种特定关系的数据元素的集合。
他们之间的关系如下图:
二、逻辑结构
1、集合结构:集合结构中的数据元素除了同属于一个集合外没有其他关系。
2、线性结构:数据元素之间为一对一关系。
3、树形结构:数据元素之间为一对多关系。
4、图形结构:数据元素之间为多对多关系。
三、物理结构——数据结构在计算机中的存储形式
1、顺序存储结构:依次存放,逻辑关系与物理关系一致。比如数组。
2、链式存储结构:数据队列需要添加新成员、减少旧成员时,顺序存储是不科学的。而链式存储结构把数据元素存放在任意存储单元里,这组存储单元可以是连续的,也可以不连续。存储关系不能反映逻辑关系,需要一个指针来存放数据元素的地址。
四、数据类型——用来说明变量/表达式的取值范围和所能进行的操作
C语言中的数据类型:
1、原子类型:不可再分的基本类型。比如:整型、实型、字符型。
2、结构类型:由若干类型组合而成。比如:整形数组由若干整形数据组合而成。
五、抽象数据类型
抽象数据类型指一个数学模型及其定义在该模型上的一组操作。一个例子为: