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