《算法与数据结构》PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 例如,一年四个季节的顺序关系时,则“春” 是“夏”的前件(即直接前驱,下同),而 “夏”是“春”的后件(即直接后继,下同)。
精选ppt
11
1.数据的逻辑结构
• 所谓数据的逻辑结构,是指描述数据元素之间 逻辑关系的数据结构。数据的逻辑结构由某一 数据对象及该对象中所有数据成员之间的关系 (前后件关系)组成。即一个数据结构可以表 示成:
精选ppt
15
5.1.4 线性结构与非线性结构
• 空的数据结构:如果在一个数据结构中一个数 据元素都没有,则称该数据结构为空的数据结 构。
• 在一个空的数据结构中插入一个新的元素后就 变为非空的数据结构。
• 根据数据元素之间关系的不同特性,一般将数 据结构分为两大类型:线性结构与非线性结构。
精选ppt
B = (D, R) D ={春,夏,秋,冬} R ={(春,夏),(夏,秋),(秋, 冬)}
精选ppt
14
2.数据的物理结构
• 数据的物理结构:数据的逻辑结构在计算机中 的存储方式称为数据的物理结构。它包括数据 元素的存储方式和关系的存储方式。
• 一种数据的逻辑结构根据需要可以表示成多种 存储结构,常用的存储结构有顺序、链接、索 引等存储结构。采用不同的存储结构,其数据 处理的效率是不同的 。
精选ppt
7
5.1.3 数据结构
• 数据处理,是指对数据集合中的各元素以各种 方式进行操作,包括插入、删除、查找、更改 等,也包括对数据元素进行分析。
• 数据的组织方式不同,通常对它进行处理时的 效率也不同。如:对两个存放相同元素的表进 行查找时,一个表中的所有数据元素是没有规 律的,而另外一个表中的元素是经过排序的, 则对于前者用顺序查询法进行查找,后者采用 折半查询法进行查询,可见后者效率较高。
精选ppt
6
5.1.2 算法的事前估计
• 我们可以在算法运行之前对算法进行估计。它 可以分为空间复杂度和时间复杂度。
1.算法的空间复杂度 • 算法的空间复杂度是对算法所需存储空间的度
量。
2.算法的时间复杂度 • 所谓算法的时间复杂度,是指执行算法所需要
的计算工作量。通常,一个算法所用的时间等 于编译时间加上运行时间。
精选ppt
20
5.2 线性表与线性链表
5.2.1 线性表 1.线性表的基本概念 • 线性表是最简单且最常用的一种数据结构。一
个线性表是n个数据元素的有限序列,表中的 每一个数据元素,除了第一个外,有且只有一 个前件,除了最后一个外,有且只有一个后件。
(1)对数据对象的运算和操作 1) 算术运算:主要有加、减、乘、除等运算。 2) 逻辑运算:主要有与、或、非等运算。 3) 关系运算:主要有大于、小于、等于、不等 于等运算。
4) 数据传输:主要包括赋值、输入、输出等操 作。
精选ppt
3
(2)算法的控制结构
• 算法中各操作之间的执行顺序称为算法的控制 结构。一个算法一般都可以用顺序、选择、循 环三种基本控制结构组合而成。
Data_Structure =(D,R)
精选ppt
12
上式中Data_Structure表示数据结构,D是数 据元素的集合, R是D上的关系,它反映了D中 各数据元素之间的前后件关系。
例如: 设a与b是D中的两个数据,则二元组 (a, b)表示a是b的前件,b是a的后件。
精选ppt
13
例如:一年四季的数据逻辑结构可以表示为:
精选ppt
18
• 非线性结构:
• 如果一个数据结构不是线性结构,则称之为非 线性结构。如家庭成员间辈分关系的数据结构 就属于非线性结构,如图所示。
父亲
儿子
女儿
精选ppt
19
• 显然,在非线性结构中,各数据元素之间的前 后件关系要比线性结构复杂,因此,对非线性
结构的存储与处理比线性结构要复杂得多。
• 表示家庭成员的各成员名“父亲、儿子、女儿” 可以作为家庭成员的数据元素 。
• 表示数值的各个数“35、21、44、70、 66、…”可以作为数值的数据元素。
精选ppt
10
• 一般情况下,在具这种关系 反映了该集合中的数据元素所固有的一种结构。 在数据处理领域中,通常把数据元素之间这种 固有的关系简单地用前后件关系(或直接前驱 与直接后继关系)来描述。
第5章 算法与数据结构
精选ppt
1
5.1 算法与数据结构的基本概念
5.1.1 算法
• 算法:是一个有穷的指令集,是解决某一问题
的运算序列。
• 算法一般应具有以下几个基本特征:
(1)可行性。(2)确定性。
(3)
有穷性。(4)有0个或多个输入。 (5)有
一个或多个输出。
精选ppt
2
1.算法的两个基本要素
显式地调用自己则称为直接递归。如果算法A调用另 一个算法B,而算法B又调用算法A,则称为间接递归 调用。
(4)回溯法 • 通过对待解决的问题进行分析,找出一个解决问题的
线索,然后根据这个线索进行探测,若探测成功便可 得到问题的解,若探测失败,就要逐步回退,改换别 的路经进一步探测,直到问题得到解答或问题最终无 解。
精选ppt
8
• 数据结构:是相互之间存在一种或多种特定关 系的数据元素的集合。
• 数据元素:在数据处理领域中,每一个需要处 理的对象都可以抽象成数据元素。数据元素一 般简称为元素。作为某种处理,其中的数据元 素一般具有某种共同特征。
精选ppt
9
• 例如:描述一年四季的季节名“春、夏、秋、 冬”可以作为季节的数据元素。
16
• 线性结构 :
• 如果一个非空的数据结构满足下列两个条件:
(1)有且只有一个根结点;(2)每一个结点最 多有一个前件,也最多有一个后件。则称该数 据结构为线性结构。线性结构又称线性表。
精选ppt
17
如一年四季这个数据结构就属于线性结构,如图 所示。
春
夏
秋
冬
在一个线性结构中插入或删除任何一个结点后还 应是线性结构。
精选ppt
4
2.算法设计基本方法
(1)列举法
• 列举法是针对待解决的问题,列举所有可能的 情况,并用问题中给定的条件来检验哪些是必 需的,哪些是不需要的。
(2)归纳法
• 归纳法是从特殊到一般的抽象过程。通过分析 少量的特殊情况,找出一般的关系。
精选ppt
5
(3)递归 • 递归分为直接递归与间接递归两种。如果一个算法A
精选ppt
11
1.数据的逻辑结构
• 所谓数据的逻辑结构,是指描述数据元素之间 逻辑关系的数据结构。数据的逻辑结构由某一 数据对象及该对象中所有数据成员之间的关系 (前后件关系)组成。即一个数据结构可以表 示成:
精选ppt
15
5.1.4 线性结构与非线性结构
• 空的数据结构:如果在一个数据结构中一个数 据元素都没有,则称该数据结构为空的数据结 构。
• 在一个空的数据结构中插入一个新的元素后就 变为非空的数据结构。
• 根据数据元素之间关系的不同特性,一般将数 据结构分为两大类型:线性结构与非线性结构。
精选ppt
B = (D, R) D ={春,夏,秋,冬} R ={(春,夏),(夏,秋),(秋, 冬)}
精选ppt
14
2.数据的物理结构
• 数据的物理结构:数据的逻辑结构在计算机中 的存储方式称为数据的物理结构。它包括数据 元素的存储方式和关系的存储方式。
• 一种数据的逻辑结构根据需要可以表示成多种 存储结构,常用的存储结构有顺序、链接、索 引等存储结构。采用不同的存储结构,其数据 处理的效率是不同的 。
精选ppt
7
5.1.3 数据结构
• 数据处理,是指对数据集合中的各元素以各种 方式进行操作,包括插入、删除、查找、更改 等,也包括对数据元素进行分析。
• 数据的组织方式不同,通常对它进行处理时的 效率也不同。如:对两个存放相同元素的表进 行查找时,一个表中的所有数据元素是没有规 律的,而另外一个表中的元素是经过排序的, 则对于前者用顺序查询法进行查找,后者采用 折半查询法进行查询,可见后者效率较高。
精选ppt
6
5.1.2 算法的事前估计
• 我们可以在算法运行之前对算法进行估计。它 可以分为空间复杂度和时间复杂度。
1.算法的空间复杂度 • 算法的空间复杂度是对算法所需存储空间的度
量。
2.算法的时间复杂度 • 所谓算法的时间复杂度,是指执行算法所需要
的计算工作量。通常,一个算法所用的时间等 于编译时间加上运行时间。
精选ppt
20
5.2 线性表与线性链表
5.2.1 线性表 1.线性表的基本概念 • 线性表是最简单且最常用的一种数据结构。一
个线性表是n个数据元素的有限序列,表中的 每一个数据元素,除了第一个外,有且只有一 个前件,除了最后一个外,有且只有一个后件。
(1)对数据对象的运算和操作 1) 算术运算:主要有加、减、乘、除等运算。 2) 逻辑运算:主要有与、或、非等运算。 3) 关系运算:主要有大于、小于、等于、不等 于等运算。
4) 数据传输:主要包括赋值、输入、输出等操 作。
精选ppt
3
(2)算法的控制结构
• 算法中各操作之间的执行顺序称为算法的控制 结构。一个算法一般都可以用顺序、选择、循 环三种基本控制结构组合而成。
Data_Structure =(D,R)
精选ppt
12
上式中Data_Structure表示数据结构,D是数 据元素的集合, R是D上的关系,它反映了D中 各数据元素之间的前后件关系。
例如: 设a与b是D中的两个数据,则二元组 (a, b)表示a是b的前件,b是a的后件。
精选ppt
13
例如:一年四季的数据逻辑结构可以表示为:
精选ppt
18
• 非线性结构:
• 如果一个数据结构不是线性结构,则称之为非 线性结构。如家庭成员间辈分关系的数据结构 就属于非线性结构,如图所示。
父亲
儿子
女儿
精选ppt
19
• 显然,在非线性结构中,各数据元素之间的前 后件关系要比线性结构复杂,因此,对非线性
结构的存储与处理比线性结构要复杂得多。
• 表示家庭成员的各成员名“父亲、儿子、女儿” 可以作为家庭成员的数据元素 。
• 表示数值的各个数“35、21、44、70、 66、…”可以作为数值的数据元素。
精选ppt
10
• 一般情况下,在具这种关系 反映了该集合中的数据元素所固有的一种结构。 在数据处理领域中,通常把数据元素之间这种 固有的关系简单地用前后件关系(或直接前驱 与直接后继关系)来描述。
第5章 算法与数据结构
精选ppt
1
5.1 算法与数据结构的基本概念
5.1.1 算法
• 算法:是一个有穷的指令集,是解决某一问题
的运算序列。
• 算法一般应具有以下几个基本特征:
(1)可行性。(2)确定性。
(3)
有穷性。(4)有0个或多个输入。 (5)有
一个或多个输出。
精选ppt
2
1.算法的两个基本要素
显式地调用自己则称为直接递归。如果算法A调用另 一个算法B,而算法B又调用算法A,则称为间接递归 调用。
(4)回溯法 • 通过对待解决的问题进行分析,找出一个解决问题的
线索,然后根据这个线索进行探测,若探测成功便可 得到问题的解,若探测失败,就要逐步回退,改换别 的路经进一步探测,直到问题得到解答或问题最终无 解。
精选ppt
8
• 数据结构:是相互之间存在一种或多种特定关 系的数据元素的集合。
• 数据元素:在数据处理领域中,每一个需要处 理的对象都可以抽象成数据元素。数据元素一 般简称为元素。作为某种处理,其中的数据元 素一般具有某种共同特征。
精选ppt
9
• 例如:描述一年四季的季节名“春、夏、秋、 冬”可以作为季节的数据元素。
16
• 线性结构 :
• 如果一个非空的数据结构满足下列两个条件:
(1)有且只有一个根结点;(2)每一个结点最 多有一个前件,也最多有一个后件。则称该数 据结构为线性结构。线性结构又称线性表。
精选ppt
17
如一年四季这个数据结构就属于线性结构,如图 所示。
春
夏
秋
冬
在一个线性结构中插入或删除任何一个结点后还 应是线性结构。
精选ppt
4
2.算法设计基本方法
(1)列举法
• 列举法是针对待解决的问题,列举所有可能的 情况,并用问题中给定的条件来检验哪些是必 需的,哪些是不需要的。
(2)归纳法
• 归纳法是从特殊到一般的抽象过程。通过分析 少量的特殊情况,找出一般的关系。
精选ppt
5
(3)递归 • 递归分为直接递归与间接递归两种。如果一个算法A