第二章常用数据结构及其运算1PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S =(D,R)
其中,D是数据元素的有限集合,R是数据元素 之间的关系集合。
例:在计算机科学中,复数可取如下定义:复数是一
种数据结构
Complex=(D,R)
其中:D是含两个实数的集合{c1,c2};R={P},而P 是定义在集合C上的一种关系{<c1,c2>},其中有序 偶<c1,c2>表示c1是复数的实部,c2是复数的虚部。
2020/9/29
8
第2章 线性数据结构
2.数据元素(data element) 数据元素是数据集合中的一个个体,它是数据
的基本单位。
数据元素可以是一个数或字符串,也可以是若 干数据项的组合(数据的最小单位)。在这种情况下, 通常把数据元素称为记录。如P22表2-1所示的学生 学籍登记表,在这个表中每一个学生的学籍信息为 一个数据元素,每一个元素由学号、姓名、性别、 民族、籍贯、专业六个数据项组成。
第2章 线性数据结构
4.数据类型 数据类型是指程序语言中允许的变量类型。
程序中出现的每一个变量必须与一个且仅与一个 数据类型相联系。各种语言都规定了它允许的数 据类型。
数据类型分为基本数据类型和结构数据类型。
2020/9/29
11
第2章 线性数据结构
5.数据结构 数据结构就是研究数据及数据元素之间关系 的一门学科。它包括三个方面的内容:数据的逻 辑结构、数据的存储结构、数据的运算。
2020/9/29
13
第2章 线性数据结构
从逻辑结构划分数据结构
a. 集合结构(set):数据元素的有限集合。数据元素之间除了“属 于同一个集合”的关系之外没有其他关系。元素顺序是随意的。
b. 线性结构(linear) :数据元素的有序集合。数据元素之间形成一 对一的关系。
c. 树形结构(tree):树是层次数据结构,树中数据元素之间存在一 对多的关系。
2020/9/29
6
第2章 线性数据结构
–数据结构是一门研究非数值计算 的程序设计问题中计算机的操作 对象以及它们之间的关系和操作 等等的学科。
2020/9/29
7
第2章 线性数据结构
二、基本术语 1. 数据(data) 数据是信息的载体,它可以用计算机表示并 加工。
例如:数字、字母、汉字、图形、图像、 声音都称为数据。
2020/9/29
2
ቤተ መጻሕፍቲ ባይዱ
第2章 线性数据结构
第2章 常用数据结构及其运算
2.1 概述 一、什么是数据结构 二、基本术语 三、算法的描述和评价
2020/9/29
3
第2章 线性数据结构
2.1 概述
一、什么是数据结构 程序=数据结构+算法
数据结构示例
1.线性表示例
学号
姓名
性别
籍贯
电话
01
张三
男
长沙
8639000
通讯地
址
麓山南路 327 号
02
李四
男
北京
23456789
学院路 435 号
03
王五
女
广州
30472589
天河路 478 号
04
赵六
男
上海
41237568
05
钱七
女
南京
5013472
南京路 1563 号 南京大学
06
刘八
女
武汉
61543726
武汉大学
07
朱九
男
昆明
4089651
云南大学
08
孙十
女
杭州
2020/9/29
16
第2章 线性数据结构
(2)数据的存储结构 数据的逻辑结构是从逻辑上来描述数据元素之
间的关系的,是独立于计算机的。然而讨论数据结 构的目的是为了在计算机中实现对它的处理。因此 还需要研究数据元素和数据元素之间的关系如何在 计算机中表示,这就是数据的存储结构。
计算机的存储器是由很多存储单元组成的,每 个存储单元有惟一的地址。数据的存储结构要讨论 的就是数据结构在计算机存储器上的存储映像方法。
6154372
西湖路 635 号
2020/9/29
4
图 1-1 学生数据表
第2章 线性数据结构
2.树形结构示例
Tt
a
a1
a2
b
b1
b2
c
c1
c2
d
d1
图 1-2 树形结构示意图
d2 d3
一层 二层 三层
四层
2020/9/29
5
第2章 线性数据结构
3.图形结构示例
1
2
3
6
4
5
图 1-3 图 形 结 构 示 意 图
a.数据的逻辑结构独立于计算机,是数据本身所 固有的。 b.存储结构是逻辑结构在计算机存储器中的映像, 必须依赖于计算机。
c.运算是指所施加的一组操作总称。
2020/9/29
12
第2章 线性数据结构
(1) 数据的逻辑结构(数据结构)
数据的逻辑结构就是数据元素之间的逻辑关系。 可以用一个二元组,给出其形式定义为
2020/9/29
17
第2章 线性数据结构
从存储结构划分数据结构 数据结构从存储结构划分为: a.顺序存储结构 所有元素存放在一片连续的存储单元中,逻辑上相邻 的元素存放到计算机内存仍然相邻。 b. 链式存储结构 所有元素存放在可以不连续的存储单元中,但元素之 间的关系可以通过地址确定,逻辑上相邻的元素存放 到计算机内存后不一定是相邻的。
d. 图结构(graph):图中数据元素之间的关系是多对多的。
2020/9/29
14
第2章 线性数据结构
(a )
(b)
(c )
(d)
图1-2 四种基本结构示意图
(a) 集合结构; (b) 线性结构; (c) 树形结构; (d) 图结构
2020/9/29
15
第2章 线性数据结构
上述四种基本的结构关系可分为两类:线 性结构(linear structure)和非线性结构(non-linear structure)。我们把除了线性结构以外的几种结 构关系——树、图和集合归入非线性结构一类。
2020/9/29
9
第2章 线性数据结构
3. 数据对象(data object) 是性质相同的数据元素组成的集合,是数据 的一个子集。 例如,整数数据对象是集合 N={0 ,±1, ±2…….} , 字 母 字 符 数 据 对 象 是 集 合 C={‘A’,’B’,…’Z’}。
2020/9/29
10
第2章 线性数据结构
2020/9/29
1
第2章 线性数据结构
第2章 常用数据结构及其运算
2.1 概述 一、什么是数据结构 二、基本术语 三、算法的描述和评价
2.2 线性表 一、线性表的定义和运算 二、顺序存储线性表 三、线性链表 四、向量与链表的比较
2.3 栈和队列 一、栈 二、队列
2.4 数组 一、数组的定义 二、数组的顺序存储结构
2020/9/29
18
第2章 线性数据结构
c. 索引存储结构。 使用该方式存放元素的同时,还建立附加的索 引表,索引表中的每一项称为索引项,索引项 的一般形式是:(关键字,地址),其中的关 键字是能唯一标识一个结点的那些数据项。 d. 散列存储结构。 通过构造散列函数,用函数的值来确定元素存 放的地址。