一、数据
(部分概念摘自《大话数据结构》,强烈推荐初学者)
数据(data):
是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合
有以下的两个前提
· 可以被输入到计算机
· 能被计算机处理
二、数据元素
数据元素(data element):
是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理。也被称为记录
也就是说,是某个集合中有的元素,比如一杯水的基本元素就是一个水分子,为什么不是氢元素和氧元素呢?因为对于水这个集合而言,他的基本单位是水分子,而氢氧元素对于表示水来说毫无意义(氢氧组成的物质不止水哦)
再举例而言,对于鱼类这个集合,他的数据元素就是鲤鱼、鲈鱼、鲢鱼、草鱼等等。。。而不是鱼尾巴、鱼鳍、鱼鳔等等
三、数据项
数据项(data item):
一个数据元素是由若干个数据项组成
接着举刚刚水的例子,对于一个水分子而言,它是由两个氢原子和一个氧原子组成,这里的氢氧原子即为数据项
数据项是数据不可分割的最小单位
但是我们一般研究的都是针对数据元素,而不针对数据项,比如去医院看病,医生在乎的是挂号人群(数据)中 你(数据元素)整体情况,再往下仔细才会具体到身体某部位(数据项)
四、数据结构
数据结构(data structure):
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合
举个例子:病人和医生之间存在的关系就是医患关系,把医生们(数据)和病人们(数据)中的个体(数据元素)抽象成数据元素则他们之间的关系也可以称作医患数据结构
其中我们把逻辑结构又细分为以下两点
1.逻辑结构
逻辑结构
是指数据对象中数据元素之间的相互关系
逻辑结构传统意义上分为以下四点
①集合结构
集合结构中的数据元素除了在同一个集合外,相互之间没有其他关系,是一种松散的逻辑结构
例如公共汽车上的所有乘客,堆在一起的货物。
如下图所示,各个元素(就是带数字的小圈圈)间没有关系只是都在集合(大圈圈)内
图1.1
②线性结构
线性数据结构中的数据元素之间是一对一的关系
有以下特征
1.集合中必存在唯一的一个"第一个元素";
2.集合中必存在唯一的一个"最后的元素";
3.除最后元素之外,其它数据元素均有唯一的"后继";
4.除第一元素之外,其它数据元素均有唯一的"前驱"。
数据结构中线性结构指的是数据元素之间存在着“一对一”的线性关系的数据结构。
如(a0,a1,a2,.....,an),a0为第一个元素,an为最后一个元素,此集合即为一个线性结构的集合。
相对应于线性结构,非线性结构的逻辑特征是一个结点元素可能对应多个直接前驱和多个后继。
(Mark Allen Weiss.数据结构与算法分析:人民邮电出版社,2007年)
图1.2
如上图,1号是2号的前驱元素,2号是1号的后继元素,以此类推,
此外,1号为头元素,5号为尾元素
③树状结构
树状数据结构中的数据元素之间是一对多的层次关系
举例:你的爷爷有三个孩子,两男一女,你的父亲有两个孩子,你父亲的弟弟有一个孩子,你父亲的姐姐有两个孩子,你们之间的关系即为树状结构(族谱嘛)下面画着呢 图1.3
具体的概念这里就不做详细介绍,详见后面的树那一章再做叙述
④图形结构
图形数据结构中的数据元素之间是多对多的关系
图1.4
用示意图表示数据的逻辑结构时,注意:
· 将每一个数据元素看做一个结点,用小圆圈表示
· 元素之间的逻辑关系用结点之间的连线表示,如果这个关系是有方向的,那么连线需要带箭头
(例如上图的1.2)
(错误,指出!!!侵删!!!)
打卡!
2019-4-26