数据结构笔记1 什么是数据结构

数据结构的定义

数据结构的几个定义
数据:所有能够输入到计算机中,且能被计算机处理的符号的集合。

而数据结构主要讨论结构化数据

数据元素:是数据(集合)中的一个“个体”,它是数据的基本单位。
数据项:数据项是用来描述数据元素的,它是数据的最小单位。
数据对象:具有相同性质的若干个数据元素的集合,如整形数据对象是所有整数的集合。

默认情况下,数据结构讨论的数据都是数据对象

数据结构:是指带结构数据元素的集合

数据结构 = 数据对象 + 结构(数据元素之间的关系)

数据结构中讨论的元素关系只要是值相邻关系邻接关系(不相邻)
一个数据结构的构成:

逻辑结构
存储结构
数据运算

数据元素之间的逻辑关系—>数据的逻辑结构
数据元素及其关系在计算机存储器中的存储方式—>数据的存储结构(或物理结构
施加在该数据上的操作—>数据运算

数据的逻辑结构表示

数据的逻辑结构是面向用户的,他有多种表示形式。
1.学生表的逻辑结构表示1-表格

学号 姓名
03 张三
04 李四
05 王五

2.学生表的逻辑结构表示2-二元组
二元组是一种通用的逻辑结构表示方法。

一个二元组表示为:
B=(D,R)
其中,B是一种数据结构,它由数据元素的集合D和D上的二元关系的集合R构成。其中:
D={d(i)|1<=i<=n,n>=0}:数据元素的集合
R={r(j)|,1<=j<=m,m>=0}:关系的集合

每个关系用若干个序偶来表示:

序偶<x,y>(x,y∈D)->x为第一元素,y为第二元素
x为y的前趋元素
y为x的后继元素
若某元素无前趋元素,称该元素为开始元素
若无后继元素,称该元素为终端元素

序偶<x,y>表示x,y有向,(x,y)表示x,y无向

学号 姓名
03 张三
04 李四
05 王五

二元组逻辑表示:
<03,04>,<04,05>
3.学生表的逻辑结构表示3-图形
在学生表中,用学号表识每个学生记录,其逻辑结构用图形表示如下:

03
04
05

数据结构的存储结构表示

数据在计算机存储器中的存储方式就是存储结构。它是面向程序员的。

映射
逻辑结构
存储结构

这种映射满足两个要求:
1.存储所有元素
2.存储数据元素间的关系

顺序存储结构

在这里插入图片描述
在这里插入图片描述

特点:
1.所有元素占用一整块的内存空间。
2.逻辑上相邻的元素,物理上也相邻

链式存储结构

在这里插入图片描述

在这里插入图片描述

特点:
1.一个逻辑元素用一个节点存储,每个节点单独分配,所有节点的地址不一定连续。
2.用指针表示逻辑关系。

数据运算

数据运算时对数据的操作。分为运算描述运算实现
对学生表可进行一系列运算。
如:
查找学号为03的学生姓名
增加一个学生
删除一个学生等等
在顺序表和单链表中实现代码又是不一样的。

结论: 同一种逻辑结构可以对应多种存储结构。 同样的运算,在不同的存储结构中,实现过程时不一样的。