数据结构第1章数据结构.ppt

上传人:max****ui 文档编号:15217452 上传时间:2020-08-05 格式:PPT 页数:26 大小:605.81KB
收藏 版权申诉 举报 下载
数据结构第1章数据结构.ppt_第1页
第1页 / 共26页
数据结构第1章数据结构.ppt_第2页
第2页 / 共26页
数据结构第1章数据结构.ppt_第3页
第3页 / 共26页
资源描述:

《数据结构第1章数据结构.ppt》由会员分享,可在线阅读,更多相关《数据结构第1章数据结构.ppt(26页珍藏版)》请在装配图网上搜索。

1、教材:安训国 刘俞主编,数据结构(第三版),大连理工大学出版社,2007年,数 据 结 构,2,3,数据结构课程的地位,它是计算机专业及相关专业的核心课程之一,是计算机及相关专业的重要骨干基础课程。 它针对非数值计算的程序设计问题,研究计算机的操作对象以及它们之间的关系和操作。即其研究目的是研究有效地组织和处理非数值类型数据的理论、技术和方法。,4,数据结构的核心研究内容,数据的逻辑结构、存储结构及它们之间的关系和相应的基本操作运算的定义和实现。 本书围绕数据结构的三种基本结构:线性结构、树形结构和图形结构展开讨论,研究解决如下问题:一个具体问题的逻辑数据结构是什么?适宜选用什么样的存储结构?

2、采用什么样的操作实现算法效率更高?,5,1、上课认真听讲,适当做好笔记,按时交作业。 2、考试成绩分两部分:平时成绩(包括出勤和上机实验)占40%,期末成绩占60%。 3、课后需要多读课文和参考书,上网查看相关内容,在理解基本内容的基础上,多看、多做习题。 4、上机实验十分重要,一定要在上机前做好充分准备,多采用不同的数据存储结构和不同的实现算法解决一个问题。,对学生的几点要求,6,第1章绪论,讨论5个问题:,1.1 数据结构的基本概念 1.2 学习数据结构的意义 1.3 数据结构涵盖的主要内容 1.4 算法效率的度量,7,1.1 数据结构的基本概念,1、举例 建立一个学生档案。学生表包括学号

3、、姓名、性别、籍贯。要求:查找“王红”是否存在。 解决的方法步骤: 如何记录所有学生记录(及选择何种逻辑数据结构)? 选择何种存储结构? 若把所有记录依次存储在一个数组中采用顺序存储结构 若采用指针链表采用链式存储结构,8,2、基本术语,(1)数据:所有能被计算机识别、存储和处理的符号的集合(包括数字、字符、声音、图像等信息 )。 (2)数据元素:是数据的基本单位,具有完整确定的实际意义。在计算机程序中通常作为一个整体进行考虑和处理。一个数据元素可由若干个数据项组成。 (3)数据项:构成数据元素的项目。它是数据不可分割的最小单位。 (4)数据类型:指一个类型和定义在这个类型上的操作集合。例:C

4、语言(基本类型:整型、浮点型、字符型等构造类型:数组、结构、联合、指针、枚举等) (5)抽象数据元素:抽象定义的、没有实际含义的数据元素。 (6)抽象数据类型:用户自己定义的数据类型。,9,2、基本术语 (续),(7)数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。或按照一定逻辑关系组织,并按一定存储方法存储的数据的集合,且需要定义一系列运算。逻辑结构、存储结构和运算合称为三要素。表示为: Data_Structure=(D, R) 其中,D元素有限集,R关系有限集,10,程序设计好算法好结构,同样的数据对象,用不同的数据结构来表示,运算效率可能有明显的差异。,1.2 学习数据结构

5、的意义,计算机内的数值运算依靠方程式,而非数值运算(如表、树、图等)则要依靠数据结构。 数据结构是一门学科,针对非数值计算的程序设计问题,研究计算机的操作对象以及它们之间的关系和操作等等。,11,1.3 数据结构涵盖的内容,12,集合结构: 仅同属一个集合 线性结构: 一对一(1:1) 树 结 构: 一对多(1:n) 图 结 构: 多对多 (m:n),非线性,线 性,逻辑结构可细分为4类:,指数据元素之间的逻辑关系。即从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。,解释1: 什么叫数据的逻辑结构?,13,(1) S=(D, R) D= a, b, c, d, e, f R=(a,

6、e), (b,c), (c,a), (e,f), (f,d),解: 上述表达式可用图形表示为:,b c a e f d,此结构为线性的。,例:用图形表示下列数据结构,并指出它们是属于线性结构还是非线性结构。,14,d1 d5 d2 d4 d3,该结构是非线性的。,解:上述表达式可用图形表示为:,(2) S=(D, R) D=di | 1i5 R=(di , dj ), ij,15,物理结构亦称存储结构,是数据的逻辑结构在计算机存储器内的表示(或映像)。它依赖于计算机。,存储结构可分为4大类:,例:复数3.02.3i 的两种存储方式:,顺序、链式、索引、散列,法1:地址 内容,法2:地址 内容,

7、2字节,解释2:什么叫数据的物理结构?,16,在数据的逻辑结构上定义的操作算法。 它在数据的存储结构上实现。,最常用的数据运算有 5 种:,插入、删除、修改、查找、排序,解释3:什么是数据的运算?,17,1.4 算法效率的度量,1 什么是算法?如何评判算法的好坏? 2 时间复杂度和空间复杂度如何表示? 3 计算举例,讨论:,18,1 什么是算法?如何评判一个算法的好坏?,常用时间复杂度来衡量,算法的基本特性:,算法评价指标:,有穷性、确定性、可行性、必有输出,正确性、可读性、健壮性、高效率与低存储量需求,常用空间复杂度来衡量,好的程序设计:好算法好结构,算法:是对特定问题求解步骤的一种描述,它

8、是指令的有限序列,是一系列输入转换为输出的计算步骤。,19,注: 1) O()为渐近符号。 2) 空间复杂度S(n)按数量级递增顺序也与上表类似。,复杂度高,复杂度低,时间复杂度T(n)按数量级递增顺序为:,2 时间复杂度和空间复杂度如何表示?,多项式阶,20,3n+2=O(n) 因为 3n+24n for n2 6*2n+n2=O(2n) 因为6*2n+n2 7*2n for n4,例:,渐进符号(O)的定义:当且仅当存在一个正的常数 C,使得对所有的 n n0 ,有 f(n) Cg(n),则: f(n) = O(g(n),21,该算法的运行时间由程序中所有语句的频度(即该语句重复执行的次数

9、)之和构成。,解:,分析:显然,语句的频度是1。设语句2的频度是f(n),则有:,算法的时间复杂度由嵌套最深层语句的频度决定,即f(n)log2n,取最大值f(n)=log2n,所以该程序段的时间复杂度T(n)=1+f(n)=1+ log2n= O( log2n),3 计算举例,22,该算法的运行时间由程序中所有语句的频度(即该语句重复执行的次数)之和构成。,解:,即f(n)log2n,取最大值f(n)=log2n,所以该程序段的时间复杂度T(n)=1+f(n)=1+ log2n= O( log2n),3 计算举例,23,T(n)=1+1+n+(n-1)+(n-1)=3n 可表示为T(n)=O(n),3 分析,i=1; /1 k=0; /1 while(in) /n k=k+10*i; /n-1 i+; /n-1 ,24,本章小结,数据结构课程 数据结构算法程序,涉及数学、计算机硬件和软件。 数据结构定义指互相有关联的数据元素的集合,可用data_Structure=(D,R)表示。 数据结构内容数据的逻辑结构、存储结构和基本运算 。 数据结构描述工具抽象数据类型和C语言。 算法效率时间效率和空间效率 。,25,习 题,P7 1.1 1.2 1.3 1.4 1.5,26,CLASS IS OVER,

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!