算法与数据结构基础共84页文档

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据在计算机存储器中的存储方式称 为数据物理结构(数据存储结构)。
在数据存储结构中,不仅要存放各个 数据元素信息,还要存放数据元素之间前 后件关系信息。数据元素在计算机中通常 有四种存储方式:顺序、链式、索引和散 列。
12
顺序存如储果结在b和构c之间增加新数据x
构成 {a,b,x,c,d}的顺序关系,应
集合
8
一般来说,数据之间有集合,线性, 树型和图形 4 种基本逻辑结构。
线性结构:
数据元素之间是一对一的关系
除第一个结点无前件外,其他结点都 只
例有如一: 个春前件 夏


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