数据结构课件Ch1

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

网络结构
2 3
4
1
2
21
19
11
6
6
33 14
5 18 4
5 3
6
23
数据的逻辑结构
从逻辑关系上描述数据,与数据的存储无关; 从具体问题抽象出来的数据模型; 与数据元素本身的形式、内容无关; 与数据元素的相对位置无关。
描述这类非数值计算问题的数学模型不是数学方程,而是 树、表和图之类的数据结构。 eg.数学模型:数学方程、表格、树、图…
8
地位:
·“数据结构”在计算机科学中是一门综合性的专业基础课。 ·数据结构是介于数学、计算机硬件和计算机软件三者之 间的一门核心课程。 ·数据结构这一门课的内容不仅是一般程序设计(特别是非 数值性程序设计)的基础,而且是设计和实现编译程序、 操作系统、数据库系统及其他系统程序的重要基础。
Data
Structure
1
第1章 绪论
1.1 什么是数据结构 1.2 基本概念和术语 1.3 抽象数据类型的表示和实现 1.4 算法和算法分析
2
计算机的功能: 处理信息(数据,包括数字、字符、声音、 图形、图像等 等)
3
计算机是一门研究用计算机进行信息表示和处理的科学。 信息的表示 信息的处理
20
eg.
树形结构
a
bc
de
图状结构
a bc de
21
Eg.
线性结构
bin
dev
etc
lib
user
树形结构

二叉树
1
23 4
2
二叉排序树
1
3
6
9
13
25 6 7 8 9 10 4
5
6
3 8 10
11 12 13 14
78 9
1 57
11
22
堆结构
图结构
1 6
5
12
11 7 10
9 61
35 4 82
16
结构中描述的关系是数据元素之间的逻辑关系,因此又称 为数据的逻辑结构. 数据的逻辑结构又分为线型结构和非线性结构两大类.
线性结构 数据的逻辑结构
非线性结构
17
序偶(<a,b>) 对于任意一个逻辑结构S=(D,R),若a∈D,b∈D,(a, b)∈R,则称a是b的前驱,b是a的后继;若某结点没有前 驱,则称该结点为开始结点;若某结点没有后继,则称该 结点为终端结点。
18
•在线性结构中,除了开始结点和终端结点外,其余结点有且 仅有一个前驱,有且仅有一个后继. eg. 图示法
1
2
3
4
5
19
非线性结构分为树形结构和图状结构. 树形结构
非线性结构 图状结构
•在树形结构中,每个结点最多只有一个前驱,但可以有多 个后继,可以有多个终端结点. •在图状结构中,每个结点的前驱和后继的数目可以是任 意的,因此,可能没有开始结点和终端结点,也可能有多 个开始结点和终端结点。
而信息的表示和组成又直接关系到处理信息的程序的效率。 随着计算机的普及,信息量的增加,信息范围的拓宽,使 许多系统程序和应用程序的规模很大,结构又相当复杂。 因此,为了编写出一个“好”的程序,必须分析待处理的 对象的特征及各对象之间存在的关系,这就是数据结构这 门课所要研究的问题。
4
计算机的应用由进行各种各样的科学计算 发展为文档处 理、数据处理、图像处理、硬件设计、软件设计 等等 。
14
四种基本结构(逻辑结构)p5
•集合: 元素仅属于同一个集体,没有其他关系。 eg.同班关系 •线性结构: 存在一对一 关系,序列相邻,次序关系。 eg.大小关系 •树型结构: 存在一对多关系,层次关系。 eg.家族关系 •图状结构(网状结构) : 存在多对多关系,任意性 eg.交通图
15
数据结构的形式定义:
12
数据对象Data Object: 性质相同的数据元素的集合,是数据的一个子集。 eg.整数的数据对象是{…,-3,-2,-1,0,1,2,3,…}
英文字符类型的数据对象是{A,B,C,D,E,F,…}
13
数据结构Data Structure:是相互之间存在一种或多种特 定关系的数据元素的集合。 数据元素之间不是相互独立的,他们之间有某种特定的关 系,这种数据元素之间的关系,称为“结构” Structure 。
TP42 软件工程 冯玉林
TP51 数据结构 严蔚敏



2002.4 2003.6 2003.1

21.00 28.00 27.基本单位,在计算机程序中常常作为一个整体进行
考虑和处理。 eg.每一行代表一本书,作为一个基本单位,即每一行为
一个数据元素,上述表格数据由n个数据元素组成。 数据项Data Item: 一个数据元素由若干个数据项组成。 数据项是数据的不可分割的最小单位。 eg.上述一个数据元素由5个数据项组成。
6
Niklaus Wirth: Algorithm + Data Structures = Programs
程序设计: 为计算机处理问题编制一组指令集 算法:处理问题的策略 数据结构:问题的数学模型
例: 求一组(n个)整数中的最大值 算法: 基本操作是“比较两个数的大小” 模型:?
7
在应用程序中涉及到各种各样的数据,如何在计算机中组 织、存储、传递数据,需要讨论它们的归类及它们之间的 关系,从而建立相应的数据结构,依此实现软件功能。
9
1.2基本概念和术语
数据Data: 是对客观事物的符号表示,在计算机科学中是指所有能输
入到计算机中并被计算机程序处理的符号的总称(数字、 字符、声音、图形、图像等等) 。
10
eg.一个个人书库管理程序所要处理的数据为如下所示的 表格:
书号
书名
作者 购书日期 价格
TP105 数据结构题集 严蔚敏
计算机的应用:科学计算非数值计算的处理工作
处理对象:数值数据
数值数据 数据
非数值数据
学习目的:合理组织数据、高效处理数据
5
1.1什么是数据结构 • 对于一个课题,在计算机领域,一般遵循下面的解决原
则: 需求分析 总体设计 模块分割 建立数学模型 解 数学模型的算法 程序编制 调试 结果 • 数据结构涉及到:数学模型的建立和对该模型具体实现 的对应的算法。
数据结构是一个二元组: Data-Structure=(D,S)
其中:D是数据元素的有限集,S是D上关系的有限集。 数学描述,即数学模型
eg.复数的数据结构定义如下: Complex=(C,R)
其中:C是含两个实数的集合{C1,C2},分别表示复数的 实部和虚部。R={P},P是定义在集合上的一种关系{<C1, C2>}。
相关文档
最新文档