数据结构ppt课件完整版.pptx





《数据结构ppt课件完整版.pptx》由会员分享,可在线阅读,更多相关《数据结构ppt课件完整版.pptx(304页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构数据结构&什么是数据结构什么是数据结构&重要性及学习意义重要性及学习意义&课程特点及学习方法课程特点及学习方法&参考资料参考资料序:课程介绍序:课程介绍1、数据结构数据结构是程序设计的重要组成部分是程序设计的重要组成部分用计算机解决问题的步骤:用计算机解决问题的步骤:用计算机解决问题的步骤:用计算机解决问题的步骤:从具体问题中抽象出一个适当的从具体问题中抽象出一个适当的从具体问题中抽象出一个适当的从具体问题中抽象出一个适当的数学模型数学模型数学模型数学模型。设计一个适合该数学模型的算法。设计一个适合该数学模型的算法。设计一个适合该数学模型的算法。设计一个适合该数学模型的算法。编写程序。
2、编写程序。编写程序。编写程序。进行测试、调整、修改,直至解决问题进行测试、调整、修改,直至解决问题进行测试、调整、修改,直至解决问题进行测试、调整、修改,直至解决问题。瑞士计算机科学家瑞士计算机科学家瑞士计算机科学家瑞士计算机科学家N.writhN.writh提出:提出:提出:提出:程序设计程序设计程序设计程序设计=算法算法算法算法+数据结构数据结构数据结构数据结构&什么是数据结构什么是数据结构2 2、数据结构的主要内容、数据结构的主要内容、数据结构的主要内容、数据结构的主要内容计算机科学发展的早期主要用来做科学计算,处理一计算机科学发展的早期主要用来做科学计算,处理一计算机科学发展的早期主要
3、用来做科学计算,处理一计算机科学发展的早期主要用来做科学计算,处理一些些些些数值计算数值计算数值计算数值计算问题,这类问题的数学模型为问题,这类问题的数学模型为问题,这类问题的数学模型为问题,这类问题的数学模型为数学方程,数学方程,数学方程,数学方程,但是但是但是但是随其发展,已经不局限于此。随其发展,已经不局限于此。随其发展,已经不局限于此。随其发展,已经不局限于此。例例例例11电话号码簿的查询问题电话号码簿的查询问题电话号码簿的查询问题电话号码簿的查询问题李李李李王王王王&什么是数据结构什么是数据结构例例例例2 2 学生信息检索学生信息检索学生信息检索学生信息检索河南商专河南商专河南商专河
4、南商专计算机系计算机系计算机系计算机系软件软件软件软件20102010级级级级20092009级级级级计算机应用计算机应用计算机应用计算机应用会计系会计系会计系会计系&什么是数据结构什么是数据结构例例例例3 3 交通图的查找交通图的查找交通图的查找交通图的查找3 3、数据结构的定义、数据结构的定义、数据结构的定义、数据结构的定义数据结构数据结构数据结构数据结构是一门研究非数值计算的程序设计问题中计是一门研究非数值计算的程序设计问题中计是一门研究非数值计算的程序设计问题中计是一门研究非数值计算的程序设计问题中计算机的操作对象以及他们之间的关系和操作的学科。是数算机的操作对象以及他们之间的关系和操
5、作的学科。是数算机的操作对象以及他们之间的关系和操作的学科。是数算机的操作对象以及他们之间的关系和操作的学科。是数据的据的据的据的组织组织组织组织、存储存储存储存储和和和和运算运算运算运算的总和。的总和。的总和。的总和。逻辑结构:逻辑结构:逻辑结构:逻辑结构:指数据元素之间的逻辑关系,是从具体问指数据元素之间的逻辑关系,是从具体问指数据元素之间的逻辑关系,是从具体问指数据元素之间的逻辑关系,是从具体问题中抽象出来的数学模型,独立于计算机。题中抽象出来的数学模型,独立于计算机。题中抽象出来的数学模型,独立于计算机。题中抽象出来的数学模型,独立于计算机。存储结构:存储结构:存储结构:存储结构:指数
6、据元素之间的逻辑关系在计算机中的指数据元素之间的逻辑关系在计算机中的指数据元素之间的逻辑关系在计算机中的指数据元素之间的逻辑关系在计算机中的表示,又称物理结构。表示,又称物理结构。表示,又称物理结构。表示,又称物理结构。运算操作:运算操作:运算操作:运算操作:查询,插入,删除查询,插入,删除查询,插入,删除查询,插入,删除&什么是数据结构什么是数据结构FF计算机专业的计算机专业的计算机专业的计算机专业的核心课程之一核心课程之一核心课程之一核心课程之一FF是程序设计及软件开发的重要基础是程序设计及软件开发的重要基础是程序设计及软件开发的重要基础是程序设计及软件开发的重要基础FF各类计算机考试、专
7、升本各类计算机考试、专升本各类计算机考试、专升本各类计算机考试、专升本的主要内容的主要内容的主要内容的主要内容FF学习它,有助于形成计算机处理问题的意识:存储、学习它,有助于形成计算机处理问题的意识:存储、学习它,有助于形成计算机处理问题的意识:存储、学习它,有助于形成计算机处理问题的意识:存储、输入、处理、输出输入、处理、输出输入、处理、输出输入、处理、输出FF具有复杂问题的解决能力具有复杂问题的解决能力具有复杂问题的解决能力具有复杂问题的解决能力&重要性及学习意义重要性及学习意义课程特点:课程特点:课程特点:课程特点:理论性强,难度较大理论性强,难度较大理论性强,难度较大理论性强,难度较大
8、学习方法:学习方法:学习方法:学习方法:FF理解课堂内容理解课堂内容理解课堂内容理解课堂内容:认真听、做笔记:认真听、做笔记:认真听、做笔记:认真听、做笔记FF勤于习题演练勤于习题演练勤于习题演练勤于习题演练:强调代码要独立写:强调代码要独立写:强调代码要独立写:强调代码要独立写FF加强上机实践加强上机实践加强上机实践加强上机实践:阶段性调试算法:阶段性调试算法:阶段性调试算法:阶段性调试算法FF养成独立思考问题、解决问题的习惯养成独立思考问题、解决问题的习惯养成独立思考问题、解决问题的习惯养成独立思考问题、解决问题的习惯&课程特点及学习方法课程特点及学习方法FF严尉敏、吴伟民:严尉敏、吴伟民
9、:严尉敏、吴伟民:严尉敏、吴伟民:数据结构数据结构数据结构数据结构,清华大学出版社,清华大学出版社,清华大学出版社,清华大学出版社FF严尉敏、吴伟民:严尉敏、吴伟民:严尉敏、吴伟民:严尉敏、吴伟民:数据结构习题集数据结构习题集数据结构习题集数据结构习题集,清华大学出,清华大学出,清华大学出,清华大学出版社版社版社版社FF徐士良:徐士良:徐士良:徐士良:实用数据实用数据实用数据实用数据,清华大学出版社,清华大学出版社,清华大学出版社,清华大学出版社FF李春葆:李春葆:李春葆:李春葆:数据结构习题与解析数据结构习题与解析数据结构习题与解析数据结构习题与解析,清华大学出版社,清华大学出版社,清华大学
10、出版社,清华大学出版社&参考资料参考资料主要内容主要内容 1.1.数据结构课程的性质和地位数据结构课程的性质和地位 2.2.基本概念和术语基本概念和术语 3.3.算法及算法分析算法及算法分析 重点、难点重点、难点 基本概念及术语,算法评价的方法基本概念及术语,算法评价的方法第第1章章数据结构概述数据结构概述数据数据数据数据(Data):(Data):(Data):(Data):是对信息的一种符号表示。在计算机科学是对信息的一种符号表示。在计算机科学是对信息的一种符号表示。在计算机科学是对信息的一种符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的中是指所有能输入到计算机中并被
11、计算机程序处理的中是指所有能输入到计算机中并被计算机程序处理的中是指所有能输入到计算机中并被计算机程序处理的符号的总称。符号的总称。符号的总称。符号的总称。数据元素数据元素数据元素数据元素(Data Element(Data Element(Data Element(Data Element):):):):是数据的基本单位,在计算是数据的基本单位,在计算是数据的基本单位,在计算是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。机程序中通常作为一个整体进行考虑和处理。机程序中通常作为一个整体进行考虑和处理。机程序中通常作为一个整体进行考虑和处理。一个数据元素可由若干个数据项组成。数
12、据项是一个数据元素可由若干个数据项组成。数据项是一个数据元素可由若干个数据项组成。数据项是一个数据元素可由若干个数据项组成。数据项是数据的不可分割的最小单位。数据的不可分割的最小单位。数据的不可分割的最小单位。数据的不可分割的最小单位。数据对象数据对象数据对象数据对象(Data Object)(Data Object)(Data Object)(Data Object):是性质相同的数据元素的集是性质相同的数据元素的集是性质相同的数据元素的集是性质相同的数据元素的集合。是数据的一个子集。合。是数据的一个子集。合。是数据的一个子集。合。是数据的一个子集。如:自然数集如:自然数集如:自然数集如:自
13、然数集N N N N0000,1 1 1 1,2 2 2 2,3 3 3 3,字母集字母集字母集字母集C C C CAAAA,BBBB,CCCC&1.1基本概念和术语基本概念和术语数据结构数据结构数据结构数据结构(Data Structure)(Data Structure)(Data Structure)(Data Structure):是相互之间存在一种或是相互之间存在一种或是相互之间存在一种或是相互之间存在一种或多种特定关系的数据元素的集合。多种特定关系的数据元素的集合。多种特定关系的数据元素的集合。多种特定关系的数据元素的集合。&1.1基本概念和术语基本概念和术语形式化定义形式化定义形
14、式化定义形式化定义:D Data_ata_S Structures=tructures=(D D,S S)其中其中其中其中:D D是数据元素的有限集,是数据元素的有限集,是数据元素的有限集,是数据元素的有限集,S S是是是是D D上关系的有限集。上关系的有限集。上关系的有限集。上关系的有限集。包括三个方面:包括三个方面:包括三个方面:包括三个方面:逻辑结构、存储结构、存储及实现逻辑结构、存储结构、存储及实现逻辑结构、存储结构、存储及实现逻辑结构、存储结构、存储及实现逻辑结构:逻辑结构:逻辑结构:逻辑结构:描述其逻辑关系。可归结为以下四类描述其逻辑关系。可归结为以下四类描述其逻辑关系。可归结为以
15、下四类描述其逻辑关系。可归结为以下四类:集合结构集合结构&1.1基本概念和术语基本概念和术语线性结构线性结构(一对一)(一对一)树形结构树形结构(一对多)(一对多)图状结构图状结构(多对多)(多对多)线性结构的形式化描述:线性结构的形式化描述:Line=(D,R)D=a,b,c,dR=,存储结构存储结构存储结构存储结构:逻辑结构在计算机中的表示。分为两类:逻辑结构在计算机中的表示。分为两类:逻辑结构在计算机中的表示。分为两类:逻辑结构在计算机中的表示。分为两类:顺序顺序顺序顺序存储结构存储结构存储结构存储结构:逻辑关系由存储单元的邻接关系体现逻辑关系由存储单元的邻接关系体现逻辑关系由存储单元的
16、邻接关系体现逻辑关系由存储单元的邻接关系体现 即:逻辑上相邻的物理上也相邻。即:逻辑上相邻的物理上也相邻。即:逻辑上相邻的物理上也相邻。即:逻辑上相邻的物理上也相邻。通常用一维数组来描述。通常用一维数组来描述。通常用一维数组来描述。通常用一维数组来描述。可延伸为:索引和散列可延伸为:索引和散列可延伸为:索引和散列可延伸为:索引和散列链式存储结构链式存储结构链式存储结构链式存储结构:元素可以任意存储,不要求逻辑上相邻元素可以任意存储,不要求逻辑上相邻元素可以任意存储,不要求逻辑上相邻元素可以任意存储,不要求逻辑上相邻的物理上也相邻,其逻辑关系一般用指针来实现。的物理上也相邻,其逻辑关系一般用指针
17、来实现。的物理上也相邻,其逻辑关系一般用指针来实现。的物理上也相邻,其逻辑关系一般用指针来实现。注意:任一算法,设计在逻辑结构,但实现在存储注意:任一算法,设计在逻辑结构,但实现在存储注意:任一算法,设计在逻辑结构,但实现在存储注意:任一算法,设计在逻辑结构,但实现在存储结构上。结构上。结构上。结构上。&1.1基本概念和术语基本概念和术语数据类型:数据类型:数据类型:数据类型:具有相同性质的操作对象及其运算方法的集具有相同性质的操作对象及其运算方法的集具有相同性质的操作对象及其运算方法的集具有相同性质的操作对象及其运算方法的集合。即:一个合。即:一个合。即:一个合。即:一个值的集合值的集合值的
18、集合值的集合和定义在这个值集上的和定义在这个值集上的和定义在这个值集上的和定义在这个值集上的一组操作一组操作一组操作一组操作的总称。的总称。的总称。的总称。如:如:如:如:intint:32768327673276832767;+、*、抽象数据类型抽象数据类型抽象数据类型抽象数据类型(Abstract Data Type(Abstract Data Type(Abstract Data Type(Abstract Data Type 简称简称简称简称ADT)ADT)ADT)ADT)是指一个是指一个是指一个是指一个数学模型数学模型数学模型数学模型以及定义在此数学模型上的一以及定义在此数学模型上的
19、一以及定义在此数学模型上的一以及定义在此数学模型上的一组组组组操作操作操作操作它与数据类型实质上是一个概念,但其特征是它与数据类型实质上是一个概念,但其特征是它与数据类型实质上是一个概念,但其特征是它与数据类型实质上是一个概念,但其特征是使用使用使用使用与与与与实现实现实现实现分离,实行封装和信息隐蔽(独立于计算机)分离,实行封装和信息隐蔽(独立于计算机)分离,实行封装和信息隐蔽(独立于计算机)分离,实行封装和信息隐蔽(独立于计算机)&1.1基本概念和术语基本概念和术语 讨论每一种数据结构时讨论每一种数据结构时讨论每一种数据结构时讨论每一种数据结构时,均要介绍其上的运算。均要介绍其上的运算。均
20、要介绍其上的运算。均要介绍其上的运算。一般的,运算可分为下列两种基本类型:一般的,运算可分为下列两种基本类型:一般的,运算可分为下列两种基本类型:一般的,运算可分为下列两种基本类型:(1 1 1 1)加工型运算加工型运算加工型运算加工型运算:运算后改变了原结构中数据元素的个数:运算后改变了原结构中数据元素的个数:运算后改变了原结构中数据元素的个数:运算后改变了原结构中数据元素的个数或数据元素的内容。或数据元素的内容。或数据元素的内容。或数据元素的内容。(2 2 2 2)引用型运算引用型运算引用型运算引用型运算:运算不改变结构中数据元素的个数和元:运算不改变结构中数据元素的个数和元:运算不改变结
21、构中数据元素的个数和元:运算不改变结构中数据元素的个数和元素的内容,只从结构中提取某些信息作为运算的结果。素的内容,只从结构中提取某些信息作为运算的结果。素的内容,只从结构中提取某些信息作为运算的结果。素的内容,只从结构中提取某些信息作为运算的结果。&1.2运算运算 常用的基本运算主要包括:常用的基本运算主要包括:常用的基本运算主要包括:常用的基本运算主要包括:插入插入插入插入(加工型加工型加工型加工型):):):):在原结构的指定位置上增添新的数据元素。在原结构的指定位置上增添新的数据元素。在原结构的指定位置上增添新的数据元素。在原结构的指定位置上增添新的数据元素。删除删除删除删除(加工型加
22、工型加工型加工型):):):):将原结构中的某个指定的数据元素删除。将原结构中的某个指定的数据元素删除。将原结构中的某个指定的数据元素删除。将原结构中的某个指定的数据元素删除。查找查找查找查找(引用型引用型引用型引用型):):):):从结构中找出满足条件的数据元素的位置。从结构中找出满足条件的数据元素的位置。从结构中找出满足条件的数据元素的位置。从结构中找出满足条件的数据元素的位置。读取读取读取读取(引用型引用型引用型引用型):):):):使用结构中满足条件的数据元素的内容。使用结构中满足条件的数据元素的内容。使用结构中满足条件的数据元素的内容。使用结构中满足条件的数据元素的内容。更新更新更新
23、更新(加工型加工型加工型加工型):):):):更换结构中某个数据元素的内容。更换结构中某个数据元素的内容。更换结构中某个数据元素的内容。更换结构中某个数据元素的内容。使用这些基本运算,可以构成其他的复杂运算使用这些基本运算,可以构成其他的复杂运算使用这些基本运算,可以构成其他的复杂运算使用这些基本运算,可以构成其他的复杂运算&1.2运算运算一、算法的概念一、算法的概念一、算法的概念一、算法的概念 是为了解决某类问题而定义的一个有限长的操作序列。是为了解决某类问题而定义的一个有限长的操作序列。是为了解决某类问题而定义的一个有限长的操作序列。是为了解决某类问题而定义的一个有限长的操作序列。一个算法
24、必须满足一个算法必须满足一个算法必须满足一个算法必须满足五个重要特性五个重要特性五个重要特性五个重要特性:1 1 1 1、有穷性:有穷性:有穷性:有穷性:有限的指令,每个指令在有限的时间内完成有限的指令,每个指令在有限的时间内完成有限的指令,每个指令在有限的时间内完成有限的指令,每个指令在有限的时间内完成 2 2 2 2、确定性确定性确定性确定性:每一条指令都有明确的含义,相同的条件下:每一条指令都有明确的含义,相同的条件下:每一条指令都有明确的含义,相同的条件下:每一条指令都有明确的含义,相同的条件下执行线路是确定的执行线路是确定的执行线路是确定的执行线路是确定的 3 3 3 3、可行性可行
25、性可行性可行性:每个步骤都是切实可行,足够基本每个步骤都是切实可行,足够基本每个步骤都是切实可行,足够基本每个步骤都是切实可行,足够基本 4 4 4 4、输入:输入:输入:输入:一个算法可以有一个或多个输入,也可以没有一个算法可以有一个或多个输入,也可以没有一个算法可以有一个或多个输入,也可以没有一个算法可以有一个或多个输入,也可以没有输入(隐含输入)输入(隐含输入)输入(隐含输入)输入(隐含输入)5 5 5 5、输出输出输出输出:一个算法可以有一个或多个输出:一个算法可以有一个或多个输出:一个算法可以有一个或多个输出:一个算法可以有一个或多个输出&1.3算法及算法分析算法及算法分析1 1、正
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 ppt 课件 完整版

限制150内