重庆大学数据结构第一章绪论

合集下载

数据结构课件 第一章绪论

数据结构课件 第一章绪论
数据的逻辑结构和物理结构是密不可分的两个方面, 一个算法的设计取决于所选定的逻辑结构,而算法的实现 依赖于所采用的存储结构。
在C语言中,用一维数组表示顺序存储结构;用结 构体类型表示链式存储结构。
数据结构的三个组成部分: 逻辑结构: 数据元素之间逻辑关系的描述 D_S=(D,S) 存储结构: 数据元素在计算机中的存储及其逻辑关 系的表现称为数据的存储结构或物理结构。 数据操作: 对数据要进行的运算。
功能。
1. 预定义常量及类型
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define OVERFLOW -1
数据元素被约定为EntryType 类型,用户需要根据具体情况,
自行定义该数据类型。
2. 算法描述为以下的函数形式:
函数类型 函数名(函数参数表)
开设本课程的背景
《数据结构》是计算机相关专业的一门重要的专业基础课。它主
要研究计算机加工对象的逻辑结构、在计算机中的表示形式以及实现各
种基本操作的算法。它是学习操作系统、编译原理、数据库原理等计算
机专业核心课程的基础,掌握好这门课程的内容,是学习计算机其他相
关课程的必备条件。
本课程讲述的主要内容
本问题是一种典型的树型结构问题,如图11 ,数据与数据成一对多的关系,是一种典型的非 线性关系结构—树形结构。
图1-2 树形结构
特点:
l 在求解过程中,所处理的数据之间具有层次关系,这是我们所
说的树形结构;
l 对它的操作有:建立树形结构,输出最低层结点内容等等。
应用举例3——制定教学计划
在制定教学计划时,需要考虑各门课程的开设顺序。有些课程

绪论 数据结构讲义

绪论 数据结构讲义

性别 男 女 女 男 男 男 女
班号 9901 9902 9901 9902 9901 9902 9901
表中的记录顺序反映了数据元素之间的逻辑关 系, 用学号标识每个学生记录,这种逻辑关系可以表 示为:
<1,8>,<8,34>,<34,20>,<20,12>,
<12,26>,<26,5>
其中,尖括号<ai,ai+1>表示。 元素ai和ai+1之间是相邻的,即ai在ai+1之前,ai+1 在ai之后。
对于head为首结点指针的链表,从head所指结 点开始比较,head->no不等于20,从它的next得到 下 一 个 结 点 的 地 址 , 再 与 下 一 个 结 点 的 no 域 比 较,…,直到某结点的no域等于20,返回其name域。
数据结构的二元组表示
为了更确切地描述一种数据结构,通常采 用二元组表示:
优点:
便于修改,在进行插入、删除运算时,仅需修 改相应结点的指针域,不必移动结点。
缺点:
存储空间的利用率较低。
只能对结点进行顺序存取。
(3)索引存储方法
在存储结点信息的同时,还建立附加的索引表。 索引表中索引项的形式:(关键字,地址),关键字惟 一标识一个结点,地址作为指向结点的指针。 优点:
这种带有索引表的存储结构可以大大提高数据查 找的速度。
} ADT Complex
1.2 算法及其描述
1 什么是算法 2 算法描述
1.2.1 什么是算法
数据元素之间的关系有逻辑关系和物 理关系,对应的操作有逻辑结构上的操作 功能和具体存储结构上的操作实现。

数据结构第1章绪论

数据结构第1章绪论


n 阶矩 阵相乘的算法
矩阵相乘的基本运算:乘法 加法;
For ( i = 1; i<=n; i++ ) For (j = 1; j<=n; j++ )
{ c[ i ][ j ] = 0 ; For (k = 1; k<= n; k++ ) c[ i ][ j ] += a[ i ][ k ] * b[ k ] [ j ] } O(n3) 称为矩阵相乘算法时间复杂度; O(n3)表示矩阵相乘算法执行时间与n3成正比, 即O(n3)与n3 同一数量级 ; 乘法 加法
◆设计 求解问题的方法
◆ 编程 main ( )
{
int len, wide ,area ; scanf (“%d %d%\n”, &l,&w); area=len*wide ; printf (“area=%d”,area);
}
1.1 本课程研究的问题
2)非数值问题
例 2 已知某级学生情况 , 要求分班按入学成绩排列顺序。 学号 00201 00102 00202 00301 姓名 性别 杨润生 男 石磊 男 李梅 女 马耀先 男 出生日期 82/06/01 83/12/21 83/02/23 82/07/12 籍贯 入学成绩 所在班级 广州 561 00计算机2 汕头 512 00计算机1 阳江 532 00计算机2 广州 509 00计算机3
数据结构基本操作的实现: 基本操作在计算机上的实现(方法)
1.3 数据结构的分类及表示
一 常用的数据结构

某班学生基本情况登记表,记录了每个学生的学号 姓名 专业 1) 集合 政治 面貌 ,表中的记录是按学生的学号顺序排列的。

结构力学课后习题答案重庆大学

结构力学课后习题答案重庆大学

第1章 绪论(无习题)第2章 平面体系的几何组成分析习题解答习题 是非判断题(1) 若平面体系的实际自由度为零,则该体系一定为几何不变体系。

( )(2) 若平面体系的计算自由度W =0,则该体系一定为无多余约束的几何不变体系。

( ) (3) 若平面体系的计算自由度W <0,则该体系为有多余约束的几何不变体系。

( ) (4) 由三个铰两两相连的三刚片组成几何不变体系且无多余约束。

( )(5) 习题(5) 图所示体系去掉二元体CEF 后,剩余部分为简支刚架,所以原体系为无多余约束的几何不变体系。

( )B DACEF习题 (5)图(6) 习题(6)(a)图所示体系去掉二元体ABC 后,成为习题(6) (b)图,故原体系是几何可变体系。

( )(7) 习题(6)(a)图所示体系去掉二元体EDF 后,成为习题(6) (c)图,故原体系是几何可变体系。

( )(a)(b)(c)D习题 (6)图【解】(1)正确。

(2)错误。

0W 是使体系成为几何不变的必要条件而非充分条件。

(3)错误。

(4)错误。

只有当三个铰不共线时,该题的结论才是正确的。

(5)错误。

CEF 不是二元体。

(6)错误。

ABC 不是二元体。

(7)错误。

EDF 不是二元体。

习题 填空(1) 习题(1)图所示体系为_________体系。

习题(1)图(2) 习题(2)图所示体系为__________体系。

习题2-2(2)图(3) 习题(3)图所示4个体系的多余约束数目分别为_______、________、__________、__________。

习题(3)图(4) 习题(4)图所示体系的多余约束个数为___________。

习题(4)图(5) 习题(5)图所示体系的多余约束个数为___________。

习题(5)图(6) 习题(6)图所示体系为_________体系,有_________个多余约束。

习题(6)图(7) 习题(7)图所示体系为_________体系,有_________个多余约束。

数据结构 第一章 绪论

数据结构 第一章 绪论

2018/11/26
4
例如,用计算机求数学方程的根
(1)用二分法求方程的根 (2)用迭代法求方程的根
xn 1
1 a ( xn ) 2 xn
特点:用数学方程进行数值运算,称这类问题的数 学模型是数学方程
2018/11/26
5
例1-1 学生选课系统
在教务系统中按所在专业培养方案选修;查询每一门 课有多少同学选修了该课; 查询、统计一下全班同学下 学期的选课情况等。 涉及的操作:选课、课程查询;选课统计等。 如何表示数据,如何对数据进行操作? 为此可以: 建立一张按学生的学号顺序排列的学生信息表和分别 按专业、课程号和班级代号顺序排列的索引表。如图所 示。由这四张表构成的文件就是学生选课系统的数学模 型,计算机的主要操作就是按特定要求对学生信息文件 进行查询。
2018/11/26 8
...
...
如何表示,如何操作? 表示每一种格局; 表示格局之间的派生关系; 给出对奕的算法:从所有儿子格局中找出最有利的格局。 类似问题:计算机中的文件管理、单位的组织机构、家族的 族谱等具有层次关系的数据。
2018/11/26 9
例1-3 交通导游图
以相关标志性地名或景点,抽象成为图中的顶点, 道路抽象为顶点之间的连线。在顶点中可以存放地名 或景点的名称、代号、介绍等信息;连线表示路径, 可以存入路径长度等相关信息。 求:从任何一个景点出发到其他点的最短路程或代 价最小方案等。 此类结构还有教学计划、交通运输、工程施工、网 络布线等。对这种结构的关键操作有遍历(查询),其 他还有插入、删除操作,求关键路径、最小生成树、 最短路径等。
950 1530 1740
1080
2250
成都

《数据结构》第一章重点知识梳理

《数据结构》第一章重点知识梳理
12
第一章 绪论
求绝对值 abs(表达式) 求不足整数值 floor(表达式) 求进位整数值 ceil(表达式) 判定文件结束 eof(文件变量) (10)逻辑运算 与运算&&:对于A&&B,当A的值为0时,不在对B求值。 或运算||:对于A||B,当A的值为非0时,不在对B求值。 四、算法和算法分析 1.算法 (1)算法的定义
由于算法的时间复杂度考虑的只是对于问题规模n的增长率,因此在难以精确计算基本操作 执行次数(或语句频度)的情况下,只需求出它关于n的增长率或阶即可。 4.算法的存储空间需求
类似于算法的时间复杂度,以空间复杂度(spacecomplexity)作为算法所需存储空间的量 度,记作S(n)=O(f(n))其中n为问题的规模。
18
的表示。
①元素的表示。计算机数据元素用一个由若干位组合 起来形成的一个位串表示。
图1-1四类基本结构的关系图。
5
第一章 绪论
②关系的表示。 计算机中数据元素之间的关系有两种不同的表示方法:顺序映象和非顺序映象。 并由这两种不同的表示方法得到两种不同的存储结构:顺序存储结构和链式存储结构。 a.顺序映象的特点是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系。 b.非顺序映象的特点是借助指示元素存储地址的指针(pointer)表示数据元素之间的逻辑
数据元素(dataelement)是数据的基本单位,在计算机程序中通常作为一个整体进行考 虑和处理。
3
第一章 绪论
3.数据对象 数据对象(dataobject)是性质相同的数据元素的集合,是数据的一个子集。
4.数据结构 数据结构(datastructure)是相互之间存在一种或多种特定关系的数据元素的集合。 (1)数据结构的基本结构 根据数据元素之间关系的不同特性,通常有下列四类基本结构: ①集合。数据元素之间除了“同属于一个集合”的关系外,别无其它关系。 ②线性结构。数据元素之间存在一个对一个的关系。 ③树形结构。数据元素之间存在一个对多个的关系。 ④图状结构或网状结构。数据元素之间存在多个对多个的关系。

数据结构绪论

数据结构绪论
型及其运算。 本课的描述---采用类C语言
1.3 算法和算法分析
三、算法分析
同一问题可用不同算法解决,而一个算法的 质量优劣将影响到算法乃至程序的效率。算法分析 的目的在于选择合适算法和改进算法。一个算法的 评价主要从时间复杂度和空间复杂度来考虑。
1.3 算法和算法分析
1、时间复杂度
语句频度:某语句执行次数称为该语句的语句频度。
例1-2:用图形表示下列数据结构,并指出它们是属于线性 结构还是非线性结构。
(1) S=(D, R) D={ a, b, c, d, e, f } R={(a,e), (b,c), (c,a), (e,f), (f,d)}
解: 上述表达式可用图形表示为:
b
c
a
e
f
d
此结构为线性的。
例1-3 假设我们需要编制一个事务管理的程序,管理 学校科学研究课题小组的各项事务,则首先要为程序 的操作对象——课题小组设计一个数据结构。假设每 个小组由一位教师、一至三名研究生及一至六名本科 生组成,小组成员之间的关系是:教师指导研究生, 而由每位研究生指导一至两名本科生。
执行n次
(2) for(i=1;i<=n;++i) {++x;s+=x;}
(3)for(j=1;j<=n;++j) 执行n2次
for(k=1;k<=n;++k) {++x;s+=x;}
基本操作“x增1”语句就是所谓的原操作。
1.3 算法和算法分析
一般情况下,算法中基本操作重复执行的次 数是问题规模n的某个函数f(n),算法的 时间量度记作: T(n)=O(f(n))

数据结构第一章绪论(1)PPT教学课件

数据结构第一章绪论(1)PPT教学课件

2020/12/10
7
二、 数据结构( Data Structure )
★ 数据结构是相互之间存在一种或多种特定关系的 数据元素的集合
◆ 数据结构=数据+结构(关系)
2020/12/10
8
数据结构的描述方式
1、逻辑结构
★ 是对数据元素之间逻辑关系(抛开具体的关系 含义以及存储方式等)的描述
◆ 它可以用一个数据元素的集合和定义在此集合 上的几个关系来表示
第一章 绪论
第一节 什么是数据结构 ★ 数据结构(Data Structure)
2020/12/10
1
什么是数据结构
★ 数据结构作为一门独立的课程在国外是从1968年 才开始设立的
◆ 当时,数据结构几乎和图论,特别是和表、树的 理论成为同义语
2020/12/10
2
什么是数据结构
◆ 但对于数据结构的概念,至今尚未有一个被一致 公认的定义
2020/12/10
9
★ 数据结构通常可用图形表示 圆圈表示数据元素,箭头表示关系
数据元素
数据元素
Ei
关系
E i+1
数据结构的描述方式
2、物理结构(存储结构)
★ 数据结构在计算机中的具体表示(representation) 和实现 (implementation)
2020/12/10
11
数据结构的分类 1、按逻辑结构分类 ★ 集合、线性结构、树型结构、图状结构 2、按物理结构分类 ★ 顺序存储结构、链式存储结构、索引存储结构
2020/12/10
12
数据结构的概念
★ 数据结构的形式定义为
◆ 数据结构是一个二元组 Data_Structure=(D,S)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
· 数据抽象 用ADT描述程序处理的实体时,强
调的是其本质的特征、其所能完成的功 能以及它和外部用户的接口(即外界使 用它的方法)。
· 数据封装 将实体的外部特性和其内部实现细
节分离,并且对外部用户隐藏其内部实 现细节。
精选ppt
17
• 抽象数据类型的形式描述为:
ADT = ( D,S,P ) 其中:D 是数据对象,
其中:C是含两个实数的集合﹛C1,C2﹜,分别表示复数的 实部和虚部。R={P},P是定义在集合上的一种关系{〈C1, C2〉}。
精选ppt
10
● 数据结构包括: 1. 数据逻辑结构:是对数据元素之间存在的
逻辑关系的描述,它可以用一个数据元素的集 合和定义在此集合上的若干关系表示。
2. 数据物理结构:是数据逻辑结构在计算机 中的表示和实现(逻辑结构在存储器中的映 象),故又称数据“存储结构”。它包含数据 元素的映象和关系的映象。
人的标志。
精选ppt
4
算法的设计,依赖于计算机如何存储人的名 字和对应的电话号码,或者说依赖于名字和其 电话号码的结构。
数据的结构,直接影响算法的选择和效率。
上述的问题是一种数据结构问题。可将名字 和对应的电话号码设计成:二维数组、表结构、 向量。
比如,名字和其电话号码逻辑上可安排成N 元向量的形式,它的每个元素是一个数对(ai , bi), 1≤i≤n
• 一类是不可分割的“原子”型数据元素,如: 整数“5”,字符 “N” 等;
• 另一类是由多个款项构成的数据元素,其中 每个款项被称为一个“数据项”。数据项是 数据结构中讨论的“最小单位”。
姓名 学号 性别
班号
出生日期
入学成绩
年月日
精选ppt
8
• 数据对象
性质相同的数据元素的集合。是数 据的一个子集。
精选ppt
9
• 1.2.2 数据结构
数据结构是带“结构”的数据元素的集合。“结构”即指 数 据元素之间存在的关系。
• 数据结构的形式定义为: 数据结构是一个二元组 Data_Structures = ( D,S )
其中:D是数据元素的有限集, S是D上关系的有限集。
例 复数的数据结构定义如下: Complex=(C,R)
精选环境的不同而不同,当用高
级程序编程时,通常可用高级编程语言 中提供的数据类型描述之。
• 例 当以“顺序存储结构”表示长度为3 的长整数表时,可将它定义为: typedef int Long_int[3];
精选ppt
14
• 不同数据结构其操作集不同,但下列操 作必不可缺: 1) 结构的生成; 2) 结构的销毁; 3) 在结构中查找满足规定条件的数 据元素; 4) 在结构中插入新的数据元素; 5) 删除结构中已经存在的数据元素; 6) 遍历。
3. 对数据元素的操作:对每一个数据结构 而言,必定存在与它密切相关的一组操作。
精选ppt
11
• 数据的逻辑结构可归结为以下四类:
一、集合 结构中的数据元素除了同属于一种 类型外,别无其它关系。
二、线性结构 结构中的数据元素之间存在一 对一的关系。
三、树型结构 结构中的数据元素之间存在一 对多的关系。
程要讨论的数据结构。
精选ppt
3
• 例1、电话号码查询系统 设有一个电话号码薄,它记录了N个
人的名字和其相应的电话号码,假定按 如下形式安排:
(a1,b1)(a2,b2)…(an,bn) 其中ai,bi(i=1,2…n) 分别表示某人的 名字和对应的电话号码
要求设计一个算法,当给定任何一个 人的名字时,该算法能够打印出此人的 电话号码,如果该电话簿中根本就没有 这个人,则该算法也能够报告没有这个
精选ppt
15
• 1.2.3 数据类型和抽象数据类型
• 数据类型:在一种程序设计语言中,变量所具有的数据 种类。是一个“值”的集合和定义在此集合上的“一组操作” 的总称。
• 例、在C语言中,数据类型包括基本类型和构造类型 基本类型:整型、浮点型、字符型 构造类型:数组、结构、联合、指针、枚举型、自定义
• 抽象数据类型(Abstract Data Type 简称 ADT):是指一 个数学模型以及定义在此数学模型上的一组操作。 例如,矩阵的抽象数据类型定义为,矩阵是一个由 m x n 个数排成 m 行 n 列的表,它可以进行初等变换、相加、 相乘、求逆、……等运算。
精选ppt
16
抽象数据类型有两个重要特性:
四、图状结构或网状结构 结构中的数据元素 之间存在多对多的关系。
精选ppt
12
●数据的物理结构可分为(关系的表示方法): 一. “顺序映象”。以 “y 相对于 x 的存储位置” 表 示 “y 是x的后继”,由此得到的数据存储结构为 “顺序存储结构”。
二. "链式映象"。以和x绑定在一起的附加信息(指针) 表示后继关系,这个指针即为 y 的存储地址,由此 得到的数据存储结构为"链式存储结构"。
S 是 D 上的关系集, P 是 D 的基本操作集。
精选ppt
6
1.2 与数据结构相关的基本概念
• 1.2.1 基本概念和术语
·数据 是所有能被输入到计算机中,且能被计算机处
理的符号(数字、字符等)的集合,它是计算机操作对 象的总称。
是计算机处理的信息的某种特定的符号表示形 式。
精选ppt
7
• 数据元素 是数据(集合)中的一个“个体”,在计
算机中通常作为一个整体进行考虑和处理, 是数据结构中讨论的“基本单位”。两类数 据元素:
数据结构还要提供每种结构类型所定义的各 种运算的算法。
精选ppt
5
• 例2、图书馆的书目检索系统 • 例3、人-机对弈问题 • 例4、多岔路口的交通灯管理问题
以上例子中的数学模型正是数据结构要讨论 的问题。
数据结构是一门讨论"描述现实世界实体的数 学模型(非数值计算)及其上的操作在计算机中如 何表示和实现"的学科。
教材
《数据结构》(C语言版)
严蔚敏 吴伟民编著 清华大学出版社
精选ppt
1
第一章 绪论
精选ppt
2
1.1 数据结构讨论的范畴
●算法+数据结构 = 程序设计 ●算法即处理问题的策略 ●数据结构即为问题的数学模型。 ●数值计算问题的数学模型通常可用一组线性
或非线性的代数方程组或微分方程组来描述
●大量非数值计算问题的数学模型正是本门课
相关文档
最新文档