【课件】数据结构动画版演示2精品版
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设计合适的数据对象的表示结构
信息结构层次
解决特定问题的具体步骤的描述
求解策略层次
语言层次
Niklaus Wirth:
程序=数据结构+算法 程序设计:为计算机处理问题编制的一组指令集
数据结构:问题的数学模型 算 法:处理问题的策略
什么是数据结构
从问题求解角度上,数据结构和高级程序设计语言(C语言)立足 于不同的层面上
第一章 绪言
什么是数据结构 基本概念和术语 算法的描述和算法分析简介
下一章
什么是数据结构
1946年,第一台电子计算机ENIAC
Shown here are two women “programming” ENIAC. U.S. Army Photo.
什么是数据结构
程序设计一般流程
抽象
系统输入/输出数据、功能需求
针对问题时,C语言一般要想该用何种控制结构(分支还是循 环)等细节问题; 而数据结构主要考虑的问题的描述、信息的结构等宏观问题 针对于问题的求解,算法立足于更高的层次: 与数据结构相比,它更多地考虑整个问题该用何种策略(思 想)求解,而不是其中涉及信息的组织与结构 问题的一般求解过程为: 分析求解策略=>设计其中涉及信息的结构=>用语言加以具体实现
scanf (“%d %d%\n”, &l,&w);
area=len*wide ;
printf (“area=%d”,area);
}
例1 书目自动检索系统
线性表
001
高等书数学目卡片樊映川
S01
002 登录理号论:力学 罗远祥
L01
按书名
高等数学
001…,0000…03403…书作分出电 学 职 等…名者类版话 生工文高线:名号单号成信档等性…::位数代…码绩息管:学数查管系理樊映询理统的川华栾系系数…罗汝0…0统统学按庚书1,…作模者型名
C AB AC AD
B
BA BC BD
DA DB DC
A
EA EB EC ED
算法设计: 穷举法:逐一检查所有可能组合,记录最小分组数和对应分组 贪心法:一类典型算法,其宗旨是根据当时掌握的信息,尽 可能地向得到解的方向推进
D E
例3 多叉路口交通灯管理问题
图
C
AB AC AD
D
B
BA BC BD
整数数据对象 N = { 0, 1, 2, … }
基本概念和术语
数据结构(data structure)—数据元素和数据元
素关系的集合 Data_Structure = {D, R}
数据的逻辑结构—只抽象反映数据元素的逻辑关系
数据逻辑结构分为:
数据元素集合
元素间关系集合
Biblioteka Baidu
(集合)——数据元素间除“同属于一个集合”外,无其它关系 线树图性形状结结结构构构——————一一多从从与个个个逻具数对 对 对辑体据一多多关问元个个个系题素,,,上抽本如如如描象身线树图述出的性数来形表据的式、,数、栈与据内、数模容队据型无列的关;存;储无关
DA DB DC
E A
EA EB EC ED
例3 多叉路口交通灯管理问题
图
C
AB AC AD
D
B
BA BC BD
DA DB DC
E A
EA EB EC ED
例3 多叉路口交通灯管理问题
图
C
AB AC AD
D
B
BA BC BD
DA DB DC
E A
EA EB EC ED
例3 多叉路口交通灯管理问题
与数据元素的相对位置无关。
基本概念和术语
数据的存储(物理)结构—数据的逻辑结构在计算 机存储器中的实现
存储结构分为: 顺序存储结构—借助元素在存储器中的相对位置来表示
数据元素间的逻辑关系 链式存储结构—借助指示元素存储地址的指针表示数据 索引存储结构 元素间的逻辑关系 散列存储结构
数据的逻辑结构与存储结构密切相关 算法设计 逻辑结构 算法实现 存储结构
S01 S02 ……
L
理论力学 002,……出..版时间:华罗庚 002,….
S
线性代数 004,……价格:
栾汝书 004,….
……
…… ……..
……. …….
书目文件
索引表
按分类号
002,… 001,003, ……
例2 人机对奕问题
例2 人机对奕问题 树
……..
……..
…...
…...
…...
基本概念和术语
顺序存储结构
存储地址 存储内容
Lo Lo+m
元素1 元素2
……..
元素i Lo+(i-1)*m
……..
Lo+(n-1)*m 元素n
Loc(元素i)=Lo+(i-1)*m
基本概念和术语
h
1345
链式存储结构
元素1 1400 元素2 1536 元素3 1346 元素4 ∧
图
C
AB AC AD
D
B
BA BC BD
DA DB DC
E A
EA EB EC ED
数据结构定义:
是一门研究非数值计算的程 序设计问题中计算机的操作对象 以及它们之间的关系和操作等等 的学科
数据结构学科的地位 • 综合性的专业基础课 • 介于数学、计算机硬件和计算机软件之间的核心课程 • 不仅是一般程序设计的基础,而且是设计和实现编译 程序、操作系统、数据库系统及其他系统程序和大型应 用程序的重要基础 • 本课程的先修课程:离散数学、C语言(或其他程序设 计语言) • 本课程后续课程:面向对象程序设计、操作系统、编 译原理、数据库系统、人工智能等
基本概念和术语
数据(data)—所有能输入到计算机中去的描述 客观事物的符号
数据元素(data element)—数据的基本单位, 也称结点(node)或记录(record)
数据项(data item)—有独立含义的数据最小单 位,也称域(field)
数据对象(data object)—性质相同数据元素的集合
什么是数据结构
程序设计一般流程
数值问题
数值计算问题
? 例◆问题建已涉模抽知及型象:的:游对泳象池:的游长泳l池en的和长宽数lwe学nid宽方e,w程求ide面,积面a积reaarea;
对象之间的关系:area=lenwide
◆设计 求解问题的方法 非数值计算问题
◆ 编程
main ( )
{
int len, wide ,area ;
…...
例3 多叉路口交通灯管理问题
所有可能通行方向
A→B A→C A→D
B→A B→C B→DAB AC AD
D→A D→B D→C
B
E→A E→BBAE→BCC E→BDD
用AB表示A→B,余类推
DA DB DC
图
C D
E A
EA EB EC ED
交叉路口的模型
例3 多叉路口交通灯管理问题
图
信息结构层次
解决特定问题的具体步骤的描述
求解策略层次
语言层次
Niklaus Wirth:
程序=数据结构+算法 程序设计:为计算机处理问题编制的一组指令集
数据结构:问题的数学模型 算 法:处理问题的策略
什么是数据结构
从问题求解角度上,数据结构和高级程序设计语言(C语言)立足 于不同的层面上
第一章 绪言
什么是数据结构 基本概念和术语 算法的描述和算法分析简介
下一章
什么是数据结构
1946年,第一台电子计算机ENIAC
Shown here are two women “programming” ENIAC. U.S. Army Photo.
什么是数据结构
程序设计一般流程
抽象
系统输入/输出数据、功能需求
针对问题时,C语言一般要想该用何种控制结构(分支还是循 环)等细节问题; 而数据结构主要考虑的问题的描述、信息的结构等宏观问题 针对于问题的求解,算法立足于更高的层次: 与数据结构相比,它更多地考虑整个问题该用何种策略(思 想)求解,而不是其中涉及信息的组织与结构 问题的一般求解过程为: 分析求解策略=>设计其中涉及信息的结构=>用语言加以具体实现
scanf (“%d %d%\n”, &l,&w);
area=len*wide ;
printf (“area=%d”,area);
}
例1 书目自动检索系统
线性表
001
高等书数学目卡片樊映川
S01
002 登录理号论:力学 罗远祥
L01
按书名
高等数学
001…,0000…03403…书作分出电 学 职 等…名者类版话 生工文高线:名号单号成信档等性…::位数代…码绩息管:学数查管系理樊映询理统的川华栾系系数…罗汝0…0统统学按庚书1,…作模者型名
C AB AC AD
B
BA BC BD
DA DB DC
A
EA EB EC ED
算法设计: 穷举法:逐一检查所有可能组合,记录最小分组数和对应分组 贪心法:一类典型算法,其宗旨是根据当时掌握的信息,尽 可能地向得到解的方向推进
D E
例3 多叉路口交通灯管理问题
图
C
AB AC AD
D
B
BA BC BD
整数数据对象 N = { 0, 1, 2, … }
基本概念和术语
数据结构(data structure)—数据元素和数据元
素关系的集合 Data_Structure = {D, R}
数据的逻辑结构—只抽象反映数据元素的逻辑关系
数据逻辑结构分为:
数据元素集合
元素间关系集合
Biblioteka Baidu
(集合)——数据元素间除“同属于一个集合”外,无其它关系 线树图性形状结结结构构构——————一一多从从与个个个逻具数对 对 对辑体据一多多关问元个个个系题素,,,上抽本如如如描象身线树图述出的性数来形表据的式、,数、栈与据内、数模容队据型无列的关;存;储无关
DA DB DC
E A
EA EB EC ED
例3 多叉路口交通灯管理问题
图
C
AB AC AD
D
B
BA BC BD
DA DB DC
E A
EA EB EC ED
例3 多叉路口交通灯管理问题
图
C
AB AC AD
D
B
BA BC BD
DA DB DC
E A
EA EB EC ED
例3 多叉路口交通灯管理问题
与数据元素的相对位置无关。
基本概念和术语
数据的存储(物理)结构—数据的逻辑结构在计算 机存储器中的实现
存储结构分为: 顺序存储结构—借助元素在存储器中的相对位置来表示
数据元素间的逻辑关系 链式存储结构—借助指示元素存储地址的指针表示数据 索引存储结构 元素间的逻辑关系 散列存储结构
数据的逻辑结构与存储结构密切相关 算法设计 逻辑结构 算法实现 存储结构
S01 S02 ……
L
理论力学 002,……出..版时间:华罗庚 002,….
S
线性代数 004,……价格:
栾汝书 004,….
……
…… ……..
……. …….
书目文件
索引表
按分类号
002,… 001,003, ……
例2 人机对奕问题
例2 人机对奕问题 树
……..
……..
…...
…...
…...
基本概念和术语
顺序存储结构
存储地址 存储内容
Lo Lo+m
元素1 元素2
……..
元素i Lo+(i-1)*m
……..
Lo+(n-1)*m 元素n
Loc(元素i)=Lo+(i-1)*m
基本概念和术语
h
1345
链式存储结构
元素1 1400 元素2 1536 元素3 1346 元素4 ∧
图
C
AB AC AD
D
B
BA BC BD
DA DB DC
E A
EA EB EC ED
数据结构定义:
是一门研究非数值计算的程 序设计问题中计算机的操作对象 以及它们之间的关系和操作等等 的学科
数据结构学科的地位 • 综合性的专业基础课 • 介于数学、计算机硬件和计算机软件之间的核心课程 • 不仅是一般程序设计的基础,而且是设计和实现编译 程序、操作系统、数据库系统及其他系统程序和大型应 用程序的重要基础 • 本课程的先修课程:离散数学、C语言(或其他程序设 计语言) • 本课程后续课程:面向对象程序设计、操作系统、编 译原理、数据库系统、人工智能等
基本概念和术语
数据(data)—所有能输入到计算机中去的描述 客观事物的符号
数据元素(data element)—数据的基本单位, 也称结点(node)或记录(record)
数据项(data item)—有独立含义的数据最小单 位,也称域(field)
数据对象(data object)—性质相同数据元素的集合
什么是数据结构
程序设计一般流程
数值问题
数值计算问题
? 例◆问题建已涉模抽知及型象:的:游对泳象池:的游长泳l池en的和长宽数lwe学nid宽方e,w程求ide面,积面a积reaarea;
对象之间的关系:area=lenwide
◆设计 求解问题的方法 非数值计算问题
◆ 编程
main ( )
{
int len, wide ,area ;
…...
例3 多叉路口交通灯管理问题
所有可能通行方向
A→B A→C A→D
B→A B→C B→DAB AC AD
D→A D→B D→C
B
E→A E→BBAE→BCC E→BDD
用AB表示A→B,余类推
DA DB DC
图
C D
E A
EA EB EC ED
交叉路口的模型
例3 多叉路口交通灯管理问题
图