数据结构与算法 ppt课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
假定一个结点占一个单元, 200 d1
d1存放于200号单元.
201
d2
202
d3
203
d4
204
d5
ppt课件
17
存储结构的分类: 链式结构
数据结构与算法
ppt课件
1
课程安排
• 讲授3学时/周, 实验2学时/周(分组)
• 总成绩:平时(听课 、作业 、 期中 )
+ 期末
• 教学用书: Robert L. Kruse and Alexander J. Ryba
“Data Structures and Program Design in C++”,高教 出版社,2001年
数据元素:通路, 如:A -> B
C
D
B
通路间的关系(图):通路为结点,
E
两节点相邻,如果两通路不能同时
A
通行。
操作:上图的着色问题:用最少的颜色,对每个节 点着色,相邻节点着不同的颜色。
存储:如何存储通路间的关系。
ppt课件
9
第一章 概论
什么是数据结构
▪ 数据结构示例 ▪ 数据结构的概念 ▪ 数据的逻辑结构 ▪ 数据的存储结构
抽象数据类型
算法的概念
算法的度量
ppt课件
10
数据结构的概念
• 数据是客观事物的符号表示, 是信息的载体
• 数据元素是数据的基本单位
数据结构是相互间具有某些关系的数据元素的 集合。它包括下面三方面的内容:
1) 数据的逻辑结构, 表示数据元素间的关 系;
2)数据的运算, 是数据元素集上所允许的 操作;
每本书由(登录号,书名, 作者,出版社, 分类号) 组成;
数据元素间的关系(逻辑结构):
一个按登录号顺序排列的书目表和按书名、作者和 分类号顺序排列的索引表;
所需的操作:
一组作用在这些表上的运算(查询、插入、修改 等);
怎样存储这些数据及其关系使得上述操作容易实现—
存储结构。
ppt课件
7
什么是数据结构-示例2
ppt课件
13
逻辑结构的类型
我们将讨论 R 含有一个关系的情况, 即 R = {R1}.
根据R1的特性, 数据结构(D, {R1}) 可分为下列几种: D = {d1, d2, …, dn}
1. 集合: 数据元素同“属于一个集合”. R1 = {} 2. 线性结构: R1 = {(d1, d2), (d2, d3), …, (d(n-1),
• 根据存储映像的特点, 存储结构可分为: 顺序存储结 构、链式存储结构、索引和散列等。
ppt课件
16
存储结构的分类: 顺序结构
顺序的方法: 将逻辑上相邻的元素存储到物理 上相邻的存储位置. 常用于线性的数据结构.
例如, D = {d1, d2, d3, d4, d5}
R = {(d1,d2), (d2, d3), (d3, d4),(d4, d5)}
• 参考书:
1.数据结构,许卓群,张乃孝,杨冬青,唐世渭,高 等教育出版社,1987年
2. 数据结构 –C++与面向对象的途径,张乃孝,裘宗燕, 高等教育出版社,1998年
3.数据结构(C语言版),严蔚敏、吴伟民,清华大学 出版社,1997年
4. 数据结构与算法,王若梅等著,中山大学出版社,
2000年
抽象数据类型
算法的概念
算法的度量
ppt课件
15
数据的存储结构
数据(逻辑)结构的存储包含数据元素的存储及其逻 辑关系的存储
• 设M为内存的一片存储区域. 将数据结构存储到计算 机内,我们需要建立一个映射(存储映像): S : D -> M 即对于D中的每个数据元素d, S(d) ∈ M, 并且这 个映射具有明显地或者隐含地体现R的能力.
3)数据的存储结构, 指如何在计算机上数
据元素及其关系。
ppt课件
11
第一章 概论
什么是数据结构
▪ 数据结构示例 ▪ 数据结构的概念 ▪ 数据的逻辑结构 ▪ 数据的存储结构
抽象数据类型
算法的概念
算法的度量
ppt课件
12
数据的逻辑结构
数据的逻辑结构是一个二元组(D, R) , D 是数据 元素的有限集, R 是D上关系的有限集; 例如,在示例3中, D = {AB, AC, AD, BA, BC, BD, DA, DB, DC, DA, EB, DC,ED} R = {R1} R1 = {(AB, EA), (AB, BD), (AB, DA), (AB, BC), …}
理数据 • 掌握算法设计技术和分析技术 • 提高程序设计质量
ppt课件
5
第一章 概论
什么是数据结构
▪ 数据结构示例 ▪ 数据结构的概念 ▪ 数据的逻辑结构 ▪ 数据的存储结构
抽象数据类型
算法的概念
算法的度量
ppt课件
6
什么是数据结构-示例1
例1 图书馆的书目自动检索系统。
所处理的基本数据(数据元素):
例 2 人机对弈问题(三子棋)。
数据元素:
格局(某时刻的棋盘布局);
格局之间的关系:一个格局可以派生出几个下
一个格局(树状结构, 博弈树);
操作:由某个格局出发,借助于以上的格局树
(显式地或非显式地)找出计算机赢的步骤; 存储结构:如何存储格局及其格局间的关系。
ppt课件
8
什么是数据结构-示例3
例 3 多岔路口的交通灯管理系统。
数据结构+算法 = 程序
ppt课件
3
程序 = 算法 + 数据结构
数据结构:
• 一种程序构件(programming construct)、工 具;
• 编程中常用的数据组织形式及其操作的抽象;
编程:
• 数据结构的选择, • 算法的设计与度量
ppt课件
4
教学目的
• 掌握常用的数据结构及其应用 • 学会合理地组织数据, 有效地表示数据和处
ppt课件
2
为什么学习数据结构
计算机科学是
-- “一种关于信息结构转换的科学”(Wegnor)
Input
Computer system Output
-- “算法的学问, 算法是精确定义的一系列规则,指 出怎样从给定的输入信息经过有限步骤产生所 求的输出信息” (Knuth)
信息结构(数据结构)和算法是计算机科学的核心 课题. 两者之间有着本质的联系.
dn)}, 即除开始和终结节点d1, dn外,每个节点有 一个前驱和一个后继
3. 树状结构: (D, {R1}) 构成树, 即每个元素最多有
一个前驱, 可以有多个后继
4. 图状结构: (D, {R1})构成一个图.
ppt课件
14
第一章 概论
什么是数据结构
来自百度文库
▪ 数据结构示例 ▪ 数据结构的概念 ▪ 数据的逻辑结构 ▪ 数据的存储结构