- 1、本文档共427页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
数据结构与算法
全套可编辑PPT课件第1章数据结构概述
第2章线性表
第3章栈和队列
第4章串
第5章数组和广义表
第6章树和二叉树
第7章图
8章查找
第9章排序
第10章并行数据结构及应用
本课件是可编辑的正常PPT课件
第1章数据结构概述
1.1数据结构的基本概念1.2算法
本课件是可编辑的正常PPT课件
第1章数据结构概述
1.1数据结构的基本概念
本课件是可编辑的正常PPT课件
第1章数据结构概述
1.1.1为什么要学习数据结构
图灵奖获得者尼古拉斯沃斯(NiklausWirth)提出程序就是“数据结构+算法”,这说明了数据结构和算法在程序设计中所起的重要作用。
用计算机求解任何问题都离不开程序,程序设计的一般过程如图1.1所示。我们通过程序设计解决某个实际问题一般需要经过以下几个阶段:
(1)分析阶段:对问题进行分析,抽象出数据模型,形成求解问题的基本思路,确定解决问题的方案;
(2)设计阶段:将数据以及数据之间的关系存储到计算机的内存中,设计数据处理的算法;
(3)实现阶段:将算法转换为用某种程序设计语言编写的程序,并进行测试、修改,直到确定出合适的程序设计方法。
图1.1程序设计的一般过程
本课件是可编辑的正常PPT课件
分析阶段
数据模型
基本思路
数据表示
数据处理
设计阶段
算法
问题
方案
第1章数据结构概述
1.1.2什么是数据结构
数据(Data)是信息的载体,它是描述客观事物的数字、字符以及所有能输入到计算机中并被计算机程序处理的符号的集合。例如,一个代数方程的求解程序中所用的数据是整数和实数;一个编译程序或文本编辑程序中所使用的数据是字符串。随着计算机应用领域的扩大,数据的含义更为广泛,如图像、声音等都可以通过编码成为数据。
数据元素(DataElement)是数据的基本单位。有些情况下,数据元素也称为元素、结点、顶点、记录。有时,一个数据元素可以由若干个数据项(DataItem)组成。数据项是具有独立含义的、不可再分割的最小标识单位。
例如,某校某专业的学生成绩表如表1.1所示。我们把学生成绩表称为一个数据,表中的每一行是一个数据元素,它由学号、姓名、性别、各科成绩及平均成绩等数据项组成。
表1.1学生成绩表
学号
姓名
性别
高等数学
英语
计算机
平均成绩
001
丁一
男
90
85
95
90
002
马二
男
80
85
90
85
003
张三
女
95
91
99
95
004
李四
男
70
84
86
80
005
王五
女
91
84
92
89
…
本课件是可编辑的正常PPT课件
第1章数据结构概述
数据结构(DataStructure)是数据元素之间的相互关系,即数据的组织形式。一般来说,数据结构所研究的主要内容包括以下三个方面:
(1)数据的逻辑结构:数据元素之间的逻辑关系。
(2)数据的存储结构:数据元素及其关系在计算机中的存储方式。数据的存储结构又称为数据的物理结构。
(3)数据的运算:对数据施加的操作。
数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。因此,数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。
数据的存储结构是逻辑结构用计算机语言的实现,它是依赖于计算机语言的。对机器语言而言,存储结构是具体的,但我们只在高级语言的层次上来讨论存储结构。
数据的运算定义在数据的逻辑结构之上。每一种逻辑结构都有一组基本运算,例如对数据进行查找、插入、删除、排序等运算。在数据的逻辑结构层面上,我们只需要知道这些基本运算“做什么”,而不需要考虑“如何做”。只有确定了数据的存储结构,我们才能够具体实现这些基本运算。
本课件是可编辑的正常PPT课件
第1章数据结构概述
1.1.3数据的逻辑结构
数据的逻辑结构用于描述数据中各个元素的逻辑关系。如图1.2所示,根据数据元素之间关系的不同特性,数据的逻辑结构可以分为以下四类:
(a)集合(b)线性结构
(e)树形结构(d)图结构
图1.2数据的四种基本逻辑结构
(1)集合:数据元素之间除了“属于同一集合”的关系之外,没有其他关系。
(2)线性结构:数据元素之间存在“一对一”的前后顺序关系,除第一个元素和最后一个元素之外,其余元素都有唯一的一个直接前驱元素和唯一的一个直接后继元素。
本课件是可编辑的正常PPT课件
第1章数据结构概述
(3)树形结构:数据元素之间存在“一对多”的层次关系,除最顶层的元素之外,其余元素都有若干个直接后继元素。
(4)图
文档评论(0)