徐敏232httpxuminiecnueducnxumin1025@sina精品PPT课件.ppt
《徐敏232httpxuminiecnueducnxumin1025@sina精品PPT课件.ppt》由会员分享,可在线阅读,更多相关《徐敏232httpxuminiecnueducnxumin1025@sina精品PPT课件.ppt(60页珍藏版)》请在三一办公上搜索。
1、徐敏(232)http:/,t,数据结构,学习课程前你需要了解的,教材与资料,作业和测验,答疑,学习目的,教材和资料,一.教材1.数据结构(c语言版)-严蔚敏,吴伟民编著-清华大学出版社 2.数据结构题集(c语言版)-严蔚敏,吴伟民,米宁编著-清华大学出版社 二.资料1.数据结构与算法 自编练习册(包含三个练习)2.数据结构学习与实验,作业和测验,一.测验 1.两次或三次测验 2.测验题目部分来自 3.共占总评 15%-20%,二.作业 1.书面作业 2.上机实验作业,答疑,1.周二、周四中午(12:30-13:20)-232 2.电子邮件答疑-,掌握数据结构的目的,掌握常用的数据结构及其应用
2、学会数据抽象,合理地组织数据,有效地表示数据和处理数据掌握算法设计技术和分析技术掌握使用计算机解决问题的方法和技能,提高程序设计水平,第一章 绪论,1.1 什么是数据结构,1.2 基本概念和术语,1.3 抽象数据类型,1.4 算法及其分析,1.1什么是数据结构,1.电子计算机的主要用途:,主要用于数值计算,处理逐渐扩大到非数值计算领域(能处理多种复杂的具有一定结构关系的数据)。,早期,后来,1.1什么是数据结构,Niklaus Wirth 尼古拉斯沃斯 Algorithm+Data Structures=Programs(算法+数据结构=程序),程序设计 算法数据结构,为计算机处理问题编制一组
3、指令集,处理问题的策略,问题的数学模型,1.1什么是数据结构,2.用计算机解决问题的途径,建立模型,构造求解算法,选择存储结构,编写程序,测试,描述问题的共性,将问题涉及的数据存储到计算机中,描述问题的求解方法,1.1什么是数据结构,3.引例,3.1书目自动检索系统的数学模型,书目文件,1.1什么是数据结构,3.引例,1.1什么是数据结构,线性表,3.2人机对奕问题的数学模型,树,3.3十字路口的交通灯管理问题的数学模型,图,1.1什么是数据结构,3.求解非数值计算的问题,主要考虑的是设计出合适的数据结构及相应的算法。即:考虑对相关的各种信息如何表示、组织和存储?,数据结构是一门研究非数值计算
4、的程序设计问题中计算机的操作对象以及它们之间的关系和操作的学科。,1.1什么是数据结构,?,学习数据结构有什么用?,ANSWER,计算机内的数值运算依靠数学方程,而非数值运算(如表、树、图等)则要依靠数据结构。,同样的数据对象,用不同的数据结构来表示,运算效率可能有明显的差异。,1.1什么是数据结构,4.数据结构课程的形成和发展,形成阶段60年代初期,“数据结构”有关的内容散见于操作系统、编译原理和表处理语言等课程。1968年,美唐欧克努特教授开创了数据结构的最初体系,计算机程序设计技巧第一卷基本算法,“数据结构”被列入美国一些大学计算机科学系的教学计划。发展阶段数据结构的概念不断扩充,包括了
5、集合代数论、关系等“离散数学结构”的内容。70年代后期,80年代初,我国高校陆续开设该课程。,1.1什么是数据结构,5.数据结构课程所处的地位,介于数学、计算机硬件和计算机软件三者之间的一门核心课程。,1.2基本概念和术语,1.基本概念,1.1 数据(data)数据是信息的载体,是描述客观事物的数、字符、以及所有能输入到计算机中并被计算机程序识别和处理的符号的集合,是计算机程序加工的“原料”。,分类,数值性数据非数值性数据,1.2基本概念和术语,1.2 数据元素(data element),-数据的基本单位。在计算机程序中常作为一个整体进行考虑和处理。有时一个数据元素可以由若干数据项(Data
6、 Item)组成。-数据项是数据不可分割的最小标识单位。-数据元素又称为元素、结点、记录。,1.2基本概念和术语,1.3 数据对象(data object),-数据对象是具有相同性质的数据元素的集合。-正整数数据对象 N=0,1,2,-字母字符数据对象 C=A,B,Z-学生成绩数据对象 Cj=(101,jane,80),(102,jack,90),(103,jerry,75),1.2基本概念和术语,1.4 数据结构(data structure),数据结构是相互之间存在一种或多种特定关系的数据元素的集合。在任何问题中,数据元素都不是孤立存在的,而是在它们之间存在着某种关系,这种数据元素相互之间
7、的关系称为结构(Structure)。数据结构是一堆数据元素和这些数据元素之间的关系的总和。,按数据元素之间关系的不同特性,通常有4类基本结构:(1)集合 结构中的数据元素除了“同属于一个集合”外,别无其它关系。(2)线性结构 结构中的数据元素之间存在一对一的关系。(3)树型结构 结构中的数据元素之间存在一对多的关系。(4)图状结构或网状结构 结构中的数据元素之间存在多对多的关系。,1.2基本概念和术语,用一个二元组表示,记为:Data_Structure=(D,S)其中,D 是数据元素的有限集(即一个数据对象)S 是该对象中所有数据成员之间的关系的有限集合。,在计算机科学中,对复数的定义:复
8、数是一种数据结构 Complex=(C,R)其中:C是包含两个实数的集合 C1,C2,R=P,P是定义在C上的一种关系。,1.4 数据结构(data structure),1.2基本概念和术语,例1.用数据结构如何描述2行3列矩阵:,它是一个含6个数据元素a1,a2,a3,a4,a5,a6 的集合,且集合上存在“行关系”和“列关系”两个次序关系,行关系为,列关系为,意为 x 和 y 之间存在 x领先于y 的次序关系。,a1 a2 a3a4 a5 a6,思考:如何描述一个一行六列的矩阵?,例2 假设我们需要编制一个事务管理的程序,管理学校科学研究课题小组的各项事务,则首先要为程序的操作对象课题小
9、组设计一个数据结构。假设每个小组由一位教师、一至三名研究生及一至六名本科生组成,小组成员之间的关系是:教师指导研究生,而由每位研究生指导一至两名本科生。则可以如下定义数据结构:Group=(P,R)其中:P=T,G1,Gn,S11Snm 1|1|1=i=n,1=j=m,1=n=3,1=m=2,1.2基本概念和术语,1.2基本概念和术语,1.5 数据的逻辑结构,数据的逻辑结构从逻辑关系上描述数据,可以看作是从具体问题抽象出来的数据模型,与数据的存储无关,也与数据元素本身的形式、内容、相对位置无关;,数据的逻辑结构分类:线性结构 线性表、栈、队列、串 非线性结构 树、图(或网络),1.2基本概念和
10、术语,1.6 数据的存储结构,数据结构在计算机中的表示(或称映象)称为数据的存储结构,又称为物理结构。(1)数据元素的表示(2)关系的表示两种基本的存储方法:顺序映像(顺序存储结构)连续 存储单元逻辑 相邻,物理 相邻 非顺序映像(链式存储结构)不连续 存储单元逻辑 相邻,物理 未必 相邻指针,1.2基本概念和术语,1.7 数据类型(data type),数据类型是一个值的集合和定义在这个值集上的一组操作的总称。数据类型可分两类:原子类型和结构类型。例如:在C语言中 原子类型:整型、实型、字符型等 结构类型:数组、结构体、联合等,1.2基本概念和术语,1.8 抽象数据类型(Abstract D
11、ata Type简称ADT),指一个数学模型以及定义在此数学模型上的一组操作。它与数据类型实质上是一个概念,其特征是使用与实现分离,实行信息的封装和隐蔽(独立于计算机)。例如:计算机拥有的整数类型。抽象数据类型的范围更广,不仅仅局限于固有数据类型,还包括用户自定义的数据类型。,1.2基本概念和术语,抽象数据类型的描述方法,抽象数据类型可用(D,S,P)三元组表示,其中,D是数据对象,S是D上的关系集,P是对D的基本操作集。ADT 抽象数据类型名 数据对象:数据对象的定义 数据关系:数据关系的定义 基本操作:基本操作的定义 ADT 抽象数据类型名,数据对象和数据关系的定义用伪码(不真正执行的符号
12、)描述。,基本操作的定义格式为:基本操作名(参数表)初始条件:初始条件描述操作结果:操作结果描述,引用类型,引用可以看作是一个变量的别名,通过引用一个变量,我们可以让引用变量和被引用变量共享同一个存储数据。,(1)引用的定义关键字:type,描述了使用引用和指针的不同之处。#include void main()int i;int,程序运行结果:i=30 j=30*k=30i=80 j=80*k=80i=100 j=100*k=100Address of i is 0 x0012FF7CAddress of j is 0 x0012FF7CAddress of k is 0 x0012FF74
13、,1.2基本概念和术语,基本操作名(参数表)初始条件:初始条件描述 操作结果:操作结果描述,基本操作有两种参数:赋值参数只为操作提供输入值;引用参数以&打头,除了可以提供输入值外,还将返回操作结果。“初始条件”描述了操作执行之前数据结构和参数应满足的条件,若不满足,则操作失败,并返回相应出错信息。若初始条件为空,则省略之。“操作结果”说明了操作正常完成之后,数据结构的变化状况和应返回的结果。,1.2基本概念和术语,举例:抽象数据类型复数的定义,ADT Complex 数据对象:De1,e2e1,e2RealSet 数据关系:R1|e1是复数的实数部分,e2 是复数的虚数部分 基本操作:Init
14、Complex(&Z,v1,v2)操作结果:构造复数Z,其实部和虚部分别被赋以参数v1和v2的值。DestroyComplex(&Z)操作结果:复数Z被销毁。,1.2基本概念和术语,GetReal(Z,&realPart)初始条件:复数已存在。操作结果:用realPart返回复数Z的实部值。GetImag(Z,&ImagPart)初始条件:复数已存在。操作结果:用ImagPart返回复数Z的虚部值。Add(z1,z2,&sum)初始条件:z1,z2是复数。操作结果:用sum返回两个复数z1,z2的和值。ADT Complex,假设:z1和z2是上述定义的复数,则Add(z1,z2,z3)操作的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 徐敏 232 httpxuminiecnueducnxumin1025 sina 精品 PPT 课件

链接地址:https://www.31ppt.com/p-5634324.html