大学计算机基础:第7章 数据结构、算法及程序设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6/77
3.数据逻辑结构
数据结构中数据元素之间所固有的关 系描述成前后件(前驱与后继)关系。数据 之间前后件关系是它们之间的逻辑关系, 与它们在计算机中的存储位置无关,因此 将这种关系称为逻辑结构。
7/77
数据结构的表示
一个数据结构可以表示为:S= ( D, R )
季节数据结构可以定义成 S=(D, R)
12/77
4.数据物理结构
数据在计算机存储器中的存储方式称 为数据物理结构(数据存储结构)。
在数据存储结构中,不仅要存放各个 数据元素信息,还要存放数据元素之间前 后件关系信息。数据元素在计算机中通常 有四种存储方式:顺序、链式、索引和散 列。
13/77
顺序存如储果结在b和构c之间增加新数据x
构成 {a,b,x,c,d}的顺序关系,应
18/77
7.2.2 算法的描述方法
用于描述算法的工具很多,通常有自 然语言、伪代码、流程图和N-S图等工具。
s n 100
例如:计算 n1
19/77
7.2.3 算法的评价
在计算机程序设计中,某一任务的算 法设计得优与多劣个,算将法直解接决影同响一个程问序题的时运, 行 效率、稳定性和执 高;可行占时维用间护存短性储的空。算间通法少常时的从间算以效法下空率4个 方面评价一个算间法效率。高。
其中:
D={ R={
春(春,数 后S,秋夏表据 件,)示元 关冬, (D数素 系夏,数据夏之 的,据秋结间 集}元)构的 合,素(前秋集,合冬)
}
8/77
一般来说,数据之间有集合,线性, 树型和图形 4 种基本逻辑结构。 集合:是一种松散结构,数据元素之间的 关系只是同属于一个集合,可以用其他结 构来表示。
1.数据结构示例
学号 姓名 性别 出生日期 班级
专业
20040001 刘强 男 1984/02/13 14001 机械制造
20040002 王晓红 女 1986/05/06 14001 机械制造
20040003 李明 男 1984/10/25 14001 机械制造
20040041 张宇 男 1984/06/14 14002 机械电子工程
集合
9/77
一般来说,数据之间有集合,线性, 树型和图形 4 种基本逻辑结构。
线性结构:
数据元素之间是一对一的关系
除第一个结点无前件外,其他结点都 只
例有如一: 个春前件 夏
秋
冬
除最后一个结点无后件外,其他结点都 只有一个后件
10/77
一般来说,数据之间有集合,线性, 树型和图形 4 种基本逻辑结构。
正确性 算法本身没有语法错误,执行时输
可读性 算入法正要确容数易据理能解够和得阅到读正,确容结易果实现,
健壮性
同算时法也能要够便对于输程入序的维各护种和数完据善给予适 当的提示和处理 。
执行效率 指算法执行的时间性能和空间性能
20/77
7.3 线性表结构
数据逻辑结构分为:
线性结构 有且只有一个开始结点和
{春,夏,数秋据,元冬素}之间有层次上的高低关系 家庭成员{每祖个父数、据父元亲素、由一儿个子数}是据数项组据成结,构
数据元素之间有位置上的前后关系
学生信息数据结构
每个数据元素由多个数据项组成
5/77
数据结构是指带有结构特性的数 据元素集合。
主要研究数:据集合中数据元素之间所固有的关系 数据逻辑结构 数据存储结构(物理结构) 对数数据据处所理进时行数的据在操计作算机中的即存算储法关系
顺序存储结构是该在如内何存存储中?开辟一块连 续内存单元用于存放数据,逻辑上相邻的
结点在物理位置上也相邻。
数据即:结地点址之间的逻辑关系由存储单元 的相a邻关系2来00体0H现。
例如b:有如2下00顺1H序关系{ a, b, c, d }
c
2002H
d
2003H
14/77
链式存储结构
链式存储结构中,结点由两部分组成: 用于存放数据元素(数据域) 用于存放前件或后件的存储地址(指针域)
树型结构:
数 据 之 间 存 在 一 对 多 的关系
一 个 结 点 最 多 有 一 个 前件,可以有多个后件
前 件 与 后 件 之 间 有 层 次关系
11/77
一般来说,数据之间有集合,线性, 树型和图形 4 种基本逻辑结构。 图形结构:
数据元素之间存在多 对多的关系
一个结点可以有多个 前件和多个后件
即: 通过指针反映数据元素之间的逻辑关系
例如:有如下顺序关系 { a, b, c }
2000 a 3001
3001 b 1003
1003 c
15/77
顺序存储结构与链式存储结构比较
顺序存储结构: 优点:每个结点占用存储空间最少 缺点:如果数据元素很多,则可能找不到一
块足够大的连续存储单元 不能很好利用存储单元,容易产生碎片
链式存储结构: 优点:充分利用所有存储单元 缺点:每个结点占用较多存储单元
16/77
7.2.1 算法的定义
算法就是操作步骤,是解决“做什么” 和“怎么做”的问题。算法是程序的灵魂, 广义来说,为解决一个问题而采取的方法和 步骤就称为算法。
算法是定义在逻辑结构上的操作, 独立于计算机,但算法的实现依赖于数 据的存储结构。
17/77
算法的特征
Biblioteka Baidu
采取的方法和步骤可
可行性
行,结构另人满意。 算法中的每一个步骤都必
确定性
须确定,不能产生歧义。
有穷性 输入 输出
执行算法时从外界取得必 要的信息。一个算法可以有零 有 算输法或算出应多的法该个算组时算得有输间法成法到一入内必,是个的。完须并没或结成由能有多果。在有意个就有限义输是效步的出输出,。一,没 个
3/77
2.数据结构的定义 数据结构是指具有相同特征、相互之间
有关联的数据集合。 数据也称为数据元素或结点,现实世界
中每个对象都可以映像成数据元素。
数据结构中数据元素都具有某种共同特征 数据结构中数据元素之间存在着某种关系
4/77
向量{2,43,68,45,32}是数据结构 季度名称组每成个数的据集元合素是由数一据个结数据构项:组成,
第七章 数据结构、算法及程序设计
计算机程序主要对数据进行加工和 处理。
数据结构
程序中需要说明
算法 数据算结法构:操:数作据数的据组的织步形骤式和和方存法储方式
1/77
本章概要(6学时)
1. 数据结构的基本概念 2. 算法的基本概念 3. 典型的数据结构 4. 典型算法
2/77
7.1 数据结构基本概念
3.数据逻辑结构
数据结构中数据元素之间所固有的关 系描述成前后件(前驱与后继)关系。数据 之间前后件关系是它们之间的逻辑关系, 与它们在计算机中的存储位置无关,因此 将这种关系称为逻辑结构。
7/77
数据结构的表示
一个数据结构可以表示为:S= ( D, R )
季节数据结构可以定义成 S=(D, R)
12/77
4.数据物理结构
数据在计算机存储器中的存储方式称 为数据物理结构(数据存储结构)。
在数据存储结构中,不仅要存放各个 数据元素信息,还要存放数据元素之间前 后件关系信息。数据元素在计算机中通常 有四种存储方式:顺序、链式、索引和散 列。
13/77
顺序存如储果结在b和构c之间增加新数据x
构成 {a,b,x,c,d}的顺序关系,应
18/77
7.2.2 算法的描述方法
用于描述算法的工具很多,通常有自 然语言、伪代码、流程图和N-S图等工具。
s n 100
例如:计算 n1
19/77
7.2.3 算法的评价
在计算机程序设计中,某一任务的算 法设计得优与多劣个,算将法直解接决影同响一个程问序题的时运, 行 效率、稳定性和执 高;可行占时维用间护存短性储的空。算间通法少常时的从间算以效法下空率4个 方面评价一个算间法效率。高。
其中:
D={ R={
春(春,数 后S,秋夏表据 件,)示元 关冬, (D数素 系夏,数据夏之 的,据秋结间 集}元)构的 合,素(前秋集,合冬)
}
8/77
一般来说,数据之间有集合,线性, 树型和图形 4 种基本逻辑结构。 集合:是一种松散结构,数据元素之间的 关系只是同属于一个集合,可以用其他结 构来表示。
1.数据结构示例
学号 姓名 性别 出生日期 班级
专业
20040001 刘强 男 1984/02/13 14001 机械制造
20040002 王晓红 女 1986/05/06 14001 机械制造
20040003 李明 男 1984/10/25 14001 机械制造
20040041 张宇 男 1984/06/14 14002 机械电子工程
集合
9/77
一般来说,数据之间有集合,线性, 树型和图形 4 种基本逻辑结构。
线性结构:
数据元素之间是一对一的关系
除第一个结点无前件外,其他结点都 只
例有如一: 个春前件 夏
秋
冬
除最后一个结点无后件外,其他结点都 只有一个后件
10/77
一般来说,数据之间有集合,线性, 树型和图形 4 种基本逻辑结构。
正确性 算法本身没有语法错误,执行时输
可读性 算入法正要确容数易据理能解够和得阅到读正,确容结易果实现,
健壮性
同算时法也能要够便对于输程入序的维各护种和数完据善给予适 当的提示和处理 。
执行效率 指算法执行的时间性能和空间性能
20/77
7.3 线性表结构
数据逻辑结构分为:
线性结构 有且只有一个开始结点和
{春,夏,数秋据,元冬素}之间有层次上的高低关系 家庭成员{每祖个父数、据父元亲素、由一儿个子数}是据数项组据成结,构
数据元素之间有位置上的前后关系
学生信息数据结构
每个数据元素由多个数据项组成
5/77
数据结构是指带有结构特性的数 据元素集合。
主要研究数:据集合中数据元素之间所固有的关系 数据逻辑结构 数据存储结构(物理结构) 对数数据据处所理进时行数的据在操计作算机中的即存算储法关系
顺序存储结构是该在如内何存存储中?开辟一块连 续内存单元用于存放数据,逻辑上相邻的
结点在物理位置上也相邻。
数据即:结地点址之间的逻辑关系由存储单元 的相a邻关系2来00体0H现。
例如b:有如2下00顺1H序关系{ a, b, c, d }
c
2002H
d
2003H
14/77
链式存储结构
链式存储结构中,结点由两部分组成: 用于存放数据元素(数据域) 用于存放前件或后件的存储地址(指针域)
树型结构:
数 据 之 间 存 在 一 对 多 的关系
一 个 结 点 最 多 有 一 个 前件,可以有多个后件
前 件 与 后 件 之 间 有 层 次关系
11/77
一般来说,数据之间有集合,线性, 树型和图形 4 种基本逻辑结构。 图形结构:
数据元素之间存在多 对多的关系
一个结点可以有多个 前件和多个后件
即: 通过指针反映数据元素之间的逻辑关系
例如:有如下顺序关系 { a, b, c }
2000 a 3001
3001 b 1003
1003 c
15/77
顺序存储结构与链式存储结构比较
顺序存储结构: 优点:每个结点占用存储空间最少 缺点:如果数据元素很多,则可能找不到一
块足够大的连续存储单元 不能很好利用存储单元,容易产生碎片
链式存储结构: 优点:充分利用所有存储单元 缺点:每个结点占用较多存储单元
16/77
7.2.1 算法的定义
算法就是操作步骤,是解决“做什么” 和“怎么做”的问题。算法是程序的灵魂, 广义来说,为解决一个问题而采取的方法和 步骤就称为算法。
算法是定义在逻辑结构上的操作, 独立于计算机,但算法的实现依赖于数 据的存储结构。
17/77
算法的特征
Biblioteka Baidu
采取的方法和步骤可
可行性
行,结构另人满意。 算法中的每一个步骤都必
确定性
须确定,不能产生歧义。
有穷性 输入 输出
执行算法时从外界取得必 要的信息。一个算法可以有零 有 算输法或算出应多的法该个算组时算得有输间法成法到一入内必,是个的。完须并没或结成由能有多果。在有意个就有限义输是效步的出输出,。一,没 个
3/77
2.数据结构的定义 数据结构是指具有相同特征、相互之间
有关联的数据集合。 数据也称为数据元素或结点,现实世界
中每个对象都可以映像成数据元素。
数据结构中数据元素都具有某种共同特征 数据结构中数据元素之间存在着某种关系
4/77
向量{2,43,68,45,32}是数据结构 季度名称组每成个数的据集元合素是由数一据个结数据构项:组成,
第七章 数据结构、算法及程序设计
计算机程序主要对数据进行加工和 处理。
数据结构
程序中需要说明
算法 数据算结法构:操:数作据数的据组的织步形骤式和和方存法储方式
1/77
本章概要(6学时)
1. 数据结构的基本概念 2. 算法的基本概念 3. 典型的数据结构 4. 典型算法
2/77
7.1 数据结构基本概念