(🚩这个是Java版,第一节在这边就不说了,直接进入第二节,前面需要知道一对一关系是线性结构,每个顶点可以和其他任意个顶点联系的是"图")
目录
1.2.1 💎基本概念和术语
是从具体问题抽象出来的数学模型,与数据在计算机中具体的存储没有关系,独立于计算机,是数据本身所固有的特性
1. 数据
数据即是信息的载体,能输入到计算机中并被计算机程序处理的符号都可称为数据
📢:整数,文字,图像 声音
2. 数据元素
数据元素是数据的基本单位。数据元素一般由一个或多个数据项组成
📢:
专业 | 专业方向 | 学号 | 姓名 | 联系电话 |
信息科学 | 嵌入式方向 | 110810110 | 黄小虎 | 18456384714 |
信息科学 | 移动方向 | 110810117 | 龚力 | 15881452292 |
通信工程 | 网络通信方向 | 110840128 | 李俊 | 18212385458 |
通信工程 | 嵌入式方向 | 110840139 | 张静静 | 18202343102 |
信息工程 | 物联网方向 | 110830104 | 张婷 | 15682054175 |
每个同学的信息(从第二行开始),是一个数据元素。每个数据元素又包含若干个数据项,如专业,专业方向
3. 数据对象
数据对象是具有相同特征的数据元素的集合。
📢:一个整型数组,一个字符串数组
4. 数据结构
数据结构(DS,是数据及数据元素的组织形式)=数据对象+数据对象中数据元素之间的组织形式
(1)集合结构
集合结构中的数据元素除了同属一个集合外,没有其他关系
(2)线性结构
线性结构中的数据元素是一对一关系
(3)树型结构
树型结构中的数据元素是一对多的层次关系
📢:
(4)图状结构
数据元素为多对多关系
📢:
5. 数据类型
数据类型是一组具有相同性质的操作对象及该数组操作对象上的运算方法的集合(int,double,long,float,short,byte,character,boolean)
1.2.2 💎数据的逻辑结构
1. 在逻辑上:数据的逻辑结构=线性结构+非线性结构
2. 逻辑结构的两个元素:
- 数据元素的集合(D)
- D上的关系集,反映了D中各元素之间的前仆后继关系(R)
即:一个数据结构可以表示为二元组B =(D,R)
📢:【例1-8】一年四季可表示成B1=(D1,R1),其中
D1={春,夏,秋,冬},R1={<春,夏>,<夏,秋>,<秋,冬>};
序偶关系<春,夏>表示:春季之后的下一个季节是夏季,反过来夏季的前一个季节是春季,其
他依此类推,通过关系集R1就可以描述出一年四季的更替顺序春、夏、秋、冬,同时我们可以
发现在关系集R1中,夏季和秋季都有一个直接前驱和一个直接后继,春季作为一年之首是没有
前驱的,但是有一个直接后继夏,冬季作为一年之尾没有后继,但是有一个前驱,所以二元组B1
描述的是一个一对一关系的线性结构。
注意👀:<x,y>意为x和y之间存在"x领先于y"的次序关系。而(x,y)表示x和y之间没有次序上的关系。
1.2.3 💎数据的物理结构
数据的物理结构(如何表示和存储数据结构)又称存储结构,他的实现依赖于具体的计算机语言
数据 存储结构有顺序和链式,顺序特点为数据元素在储存器的相对位置来体现数据元素相互间的逻辑关系,常用一维数组来是实现
📢:
... | |
0300 | 25 |
0304 | 34 |
0308 | 48 |
030C | 57 |
0310 | 63 |
📢:
110 | e | 200 |
... | ... | |
150 | b | 190 |
160 | a | 150 |
... | ... | |
190 | c | 210 |
200 | f | NULL |
210 | d | 110 |
在顺序储存结构的基础上,又可延伸出另两种结构:
- 索引结构(在数据文件的基础上增加了一个索引表文件)
- 散列结构(在数据元素与储存地址之间建立起某种映射关系)