数据结构新1学习.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《数据结构新1学习.pptx》由会员分享,可在线阅读,更多相关《数据结构新1学习.pptx(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1内容提要内容提要1 1 1 1给出数据结构的概念给出数据结构的概念2 2 2 2介绍数据抽象和抽象数据类型介绍数据抽象和抽象数据类型3 3 3 3说明数据结构和算法描述的方法说明数据结构和算法描述的方法4 4 4 4介绍算法和算法分析的基本方法介绍算法和算法分析的基本方法第1页/共51页21.1 1.1 算法和数据结构算法和数据结构瑞士的WirthWirth博士图灵奖获得者提出:程序算法+数据结构第2页/共51页31.1 1.1 算法和数据结构算法和数据结构课堂提要课堂提要课堂提要课堂提要第第第第1 1 1 1章章章章 基础知识基础知识基础知识基础知识1.1 1.1 1.1 1.1 算法和数
2、据结构算法和数据结构算法和数据结构算法和数据结构1.2 1.2 1.2 1.2 什么是数据结构什么是数据结构什么是数据结构什么是数据结构1.3 1.3 1.3 1.3 数据抽象和抽象数据抽象和抽象数据抽象和抽象数据抽象和抽象 数据类型数据类型数据类型数据类型 1.4 1.4 1.4 1.4 描述数据结构和描述数据结构和描述数据结构和描述数据结构和 算法算法算法算法1.5 1.5 1.5 1.5 算法分析的基本算法分析的基本算法分析的基本算法分析的基本 方法方法方法方法 数据结构和算法是计算机学科的基础之一,更是软件技术的基础。算法设计通常建立在所处理的数据之上的,精心选择的数据结构可以带来更高
3、效率的算法。程序算法+数据结构第3页/共51页4精心设计的数据结构真的可以带来更高效率的算法吗?第4页/共51页5 图一第5页/共51页6,图二第6页/共51页7 数据在计算机中的表示和存储不能是无组织的,是有规律,有结构的。第7页/共51页81.1.1.1.数据数据:计算机加工处理的对象 2.2.数据元素数据元素:是组成数据的基本单位,在计算机程序中通常作为一个整体来处理。数据元素由若干数据项组成。3.3.数据项数据项是不可再分割的。1.2 1.2 什么是数据结构什么是数据结构 1.2.1 1.2.1 基本概念基本概念第8页/共51页9表1.1 学生情况表学号学号姓名姓名性别性别其他信息其他
4、信息B02040101王小红王小红女女B02040102林悦林悦女女B02040103陈菁陈菁女女B02040104张可可张可可男男数据项第9页/共51页10数据结构的由来数据结构的由来 数数据据结结构构主主要要是是为为研研究究和和解解决决如如何何使使用用计计算算机机组组织织和和处处理理这这些些非非数数值值问问题题而而产产生生的的理理论论、技技术术和和方方法法。它它已已成成为为计计算算机机学学科科研研究究的的基基本课题之一。本课题之一。第10页/共51页11什么是数据结构什么是数据结构定义1-数据元素之间的相互关系称为结构,带有结构的数据元素的集合称为数据结构。定义2-按某种逻辑关系组织起来的
5、一批数据(或称带结构的数据元素的集合)应用计算机语言并按一定的存储表示 方式把它们存储在计算机的存储器中,并在其上定义了一个运算的集合。第11页/共51页12 数据结构包括三个方面数据结构包括三个方面 逻辑结构:数据元素间的逻辑关系;逻辑结构:数据元素间的逻辑关系;存储结构:数据在计算机内的表示形式;存储结构:数据在计算机内的表示形式;运算:在数据上执行的操作运算:在数据上执行的操作。第12页/共51页13数据结构举例 表1.1 学生情况表学号学号姓名姓名性别性别其他信息其他信息B02040101王小红王小红女女B02040102林悦林悦女女B02040103陈菁陈菁女女B02040104张可
6、可张可可男男逻辑结构,存储结构,运算第13页/共51页141.2.2 1.2.2 数据的逻辑结构数据的逻辑结构 数据结构的逻辑结构可以用一个二元组表示。即 DS=(D,R)其中,D是数据元素的有限集合,R是D中数据元素序偶的集合。例如DS=D,R,D=a,b,c,d,R=,DS=D,R,D=a,b,c,d,R=,其中,序偶表示a a和b b之间的关系,我们称为a a是b b的直接前驱,b b是a a的直接后继。小圆圈代表数据元素,两个不同元素的序偶称为边。abcd第14页/共51页154 4种基本的逻辑结构 (a)(a)集合结构(b)(b)线性结构(c)(c)树形结构(d)(d)图结构图1-2
7、 1-2 四种基本的结构关系对数据元素间逻辑关系的描述称为数据的逻辑结构。根据数据结构中数据元素之间关系的不同特征,可以划分为以下四种基本逻辑结构:第15页/共51页16 线性结构:线性结构:线性结构:线性结构:数据元素之间存在数据元素之间存在一对一的关系。一对一的关系。一个前驱,一个前驱,一个后继。一个后继。树形结构:树形结构:树形结构:树形结构:数据元素之间存在数据元素之间存在一对多的关系。一对多的关系。图结构:图结构:图结构:图结构:数据元素之间存在多数据元素之间存在多对多的关系。每个结点的前对多的关系。每个结点的前驱和后继的数目都不同。驱和后继的数目都不同。集合结构:集合结构:结构中的
8、数据元素之间除了“同属于一个集合”的关系外,没有其它关系。四种逻辑结构也可以分成两类:线性结构和非线性结构。(a)(a)集合结构(b)(b)线性结构(c)(c)树形结构(d)(d)图结构图1-2 1-2 四种基本的结构关系第16页/共51页17 几种存储结构几种存储结构 顺序结构顺序结构 链接结构链接结构 索引结构索引结构 散列结构散列结构 地址信息称为链。地址信息称为链。表示空链。表示空链。1.2.3 1.2.3 数据的存储表示数据的存储表示存储结构存储结构:数据结构的实现形式,是数据结构在计数据结构的实现形式,是数据结构在计算机内的表示,即算机内的表示,即数据元素及其关系数据元素及其关系在
9、计算机存在计算机存储器中的存储方式。储器中的存储方式。其中,顺序和链接是两种最基本的存储表示方法。其中,顺序和链接是两种最基本的存储表示方法。第17页/共51页18 顺序存储顺序存储 顺序(或称连续)表示方法需要一块连续的存储空间,并把逻辑上相关的数据元素一次存储在该连续的存储区中。例如,由4个元素组成的线性数据结构(a0,a1,a2,a3),存储在某个连续的存储区内,设存储区的起始地址是102,假定每个元素占2个存储单元。Loc(ak)=102+2 k第18页/共51页19 链式存储链式存储 例如,线性结构(a0,a1,a2,a3)的链接存储表示。结点存储块分成两部分,元素本身和该元素后继元
10、素所在结点的存储地址。Data LinkData Link链接存储表示下,为在机内存储一个元素,除了需要存放该元素本身的信息外,还需要存放于该元素相关的其它元素的地址信息。这两部分信息组成一个数据元素的结点。第19页/共51页20逻辑结构逻辑结构存储结构存储结构概念概念数据元素之间逻数据元素之间逻辑关系的描述辑关系的描述数据及其关系数据及其关系在计在计算机内的组织方式算机内的组织方式面向面向面向应用问题面向应用问题面向计算机面向计算机关系关系存储结构是逻辑结构在计算机内的映像存储结构是逻辑结构在计算机内的映像 小结小结第20页/共51页211.2.4 1.2.4 1.2.4 1.2.4 数据结
11、构的运算数据结构的运算数据结构最常见的运算 创建运算:创建一个数据结构;清除运算:删除数据结构中的全部元素;插入运算:在数据结构的指定位置上插入一个新元素;删除运算:将数据结构中的某个元素删除;第21页/共51页22 静态数据结构静态数据结构和和动态数据结构动态数据结构 如果一个数据结构一旦创建,其结构不发生如果一个数据结构一旦创建,其结构不发生改变,则称为改变,则称为静态数据结构静态数据结构,否则成为,否则成为动动态数据结构态数据结构。第22页/共51页23 小结小结 数据结构是一门研究程序设计问题中计算机的操作对象(数据)以及它们之间的关系和运算的学科。第23页/共51页241.3 1.3
12、 数据抽象和抽象数据类型数据抽象和抽象数据类型 抽象,封装和信息隐蔽是控制软件开发复杂度,提高软件可靠性的重要手段 本书采用抽象数据类型的观点讨论数据结构。课堂提要课堂提要课堂提要课堂提要第第第第1 1 1 1章章章章 基础知识基础知识基础知识基础知识1.1 1.1 1.1 1.1 算法和数据结构算法和数据结构算法和数据结构算法和数据结构1.2 1.2 1.2 1.2 什么是数据结构什么是数据结构什么是数据结构什么是数据结构1.3 1.3 1.3 1.3 数据抽象和抽象数据抽象和抽象数据抽象和抽象数据抽象和抽象 数据类型数据类型数据类型数据类型 1.4 1.4 1.4 1.4 描述数据结构和描
13、述数据结构和描述数据结构和描述数据结构和 算法算法算法算法1.5 1.5 1.5 1.5 算法分析的基本算法分析的基本算法分析的基本算法分析的基本 方法方法方法方法第24页/共51页25 1.C 1.C 语言的数据类型(1)(1)(1)(1)基本类型:基本类型:基本类型:基本类型:字符、整型字符、整型 (2)(2)(2)(2)构造类型:构造类型:构造类型:构造类型:数组、结构和联合数组、结构和联合(3)(3)(3)(3)指针类型:指针类型:指针类型:指针类型:指针指针指针指针例如,例如,int a;int a;变量变量a a 的取值范围是:的取值范围是:-32768-32768 3276732
14、767对变量对变量a a执行的操作有:执行的操作有:算术运算算术运算 +、-、*、/、%关系运算关系运算 、=、=、!=!=2.2.数据类型 一个数据类型定义了一个值的集合以及作用于该值集的操作的集合。即一组值和一组操作。1.3.3 1.3.3 数据类型和抽象数据类型数据类型和抽象数据类型 第25页/共51页26抽象数据类型(A Abstract bstract Data Data Type,Type,ADTADT)是一个数据类型,其主要特征是该类型的对象及其操作的规范,与该类型对象的表示和操作的实现分离,实行封装和信息隐蔽,即使用和实现分离。使用和实现分离:使用者通过规范使用该类型的数据,而
15、不必考虑其实现细节;改变实现将不影响使用。例如,C+C+中的整型intint就是抽象数据类型。它的实现是隐蔽的,使用者只能通过整型上定义的一组运算对整型变量 执行操作。3.3.抽象数据类型第26页/共51页27规范指明“做什么”,实现解决“怎样做”。规范是实现的准则和依据第27页/共51页28一个数据结构包含两个层次:(1)(1)数据结构的规范(抽象层):逻辑结构和运算的定义组成了数据结构的规范(2)(2)数据结构的实现(实现层):存储结构和运算算法实现构成了数据结构的实现1.3.4 1.3.4 数据结构和抽象数据类型数据结构和抽象数据类型 一种数据结构被视为一个抽象数据类型。第28页/共51
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 学习
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内