- 1、本文档共343页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
数据结构
全套可编辑PPI课件
数据全结套可编辑构PPT课件与算法
算法与算法分析全套可编辑PPT课件
数据结构概述
数据结构概述
数据元素(DataElement)是数据的基本单位,在计算机程序中通常作为一个整体进行处理。数据元素也称为结点或记录。一个数据元素可以由一个或多个数据项组成。通常,能独立、完整地描述问题中
的一切实体都是数据元素。
数据项(DataItem)是数据的最小单位,是对数据元素属性的描述,也称为域或字段。例如,在图书管理系统中,可以把一本图书的有关信
息视为一个数据元素,其由书名、作者、书号、出版时间和出版社等数据项组成。
数据(Data)是信息的载体,是能够输入计算机中并能被计算机识别、存储和加工处理的符号集合。在计算机科学中,数据的含义很广泛,既包括整数和实数等数值类型,也包括声音、文字和图像等非数值类型。
1.11数据结构的根令
全套可编辑PPT课件
数据类型(DataType)是一组性质相同的值的集合和定义在该集合上的一组操作的总称。每个数据项均属于某一确定的数据类型。按“值”的特性不同,数据类型可以分为原子
类型和结构类型两类。
数据对象(DataObject)是性质相同的数据元素的集合,是数据的子集。例如,整数数据对象是集合N={0,±1,±2,..};图书数据对象是集合A={“数据结构”, “数据库”,“软件工程”}。
数据结构(DataStructure)是相互之间存在一定关系的数据元素的集合。数据结构包含三方面的内容:数据的逻辑结构、数据的存储结构和数据的运算。
1.1.1数据结构的概念
数据的逻辑结构分为线性结构和非线性结构两种。
1.线性结构
线性结构有且仅有一个开始结点和一个终端结点,且所有结点都最多只有一个直接前驱和一个直接后继。
2.非线性结构
非线性结构中,一个结点可能有多个直接前驱或多个直接后继。
3.常见的基本逻辑结构
集合结构:数据元素的有限集合。数据元素之间只有“属于同一个集合”的关系。
1.1.2数据的逻辑结构
1.1.2数据的逻辑结构
线性结构:数据元素的有序集合。数据元素之间存在一对一的关系。
树形结构:树形层次数据结构,树中的数据元素之间存在一对多的关系。
图形结构:图中的数据元素之间是多对多的关系。
上述基本逻辑结构如图1-1所示。
图1-1基本逻辑结构
(b)线性结构
(d)图形结构
(a)集合结构
(c)树形结构
关于数据的存储结构主要有以下4种。
1.顺序存储结构
把逻辑上相邻的结点存储在物理位置上相邻的存储单元中,结点之间的逻辑关系由存储单元的邻接关系来体现,由此得到的存储表示称为顺序存储结构。顺序存储结构通常借助于程序语言的数组来描述。
2.链式存储结构
该结构不要求逻辑上相邻的结点在物理位置上也相邻,结点间的逻辑关系由附加的指针结点来表示,由此得到的存储表示称为链式存储结构。
1.1.3数据的存储结构
1.1.3数据的存储结构
链式存储结构通常借助于程序语言的指针来描述,如图1-2所示。
图1-2链式存储结构
head
3000
3000
11301
4000
11303
3050
11325
90.5
3020
89.5
4000
3050
83
电事重
3.索引存储结构
在建立结点信息的同时,还要建立附加的索引表来标识结点的地址。索引表中的每一项称为索引项,索引项由结点的关键字和该结点的存储地址组成,关键字是能唯一标识一个结点的数据项。
这种结构的基本思想是,根据结点的关键字
直接计算出该结点的存储地址。
上述4种存储结构既可以单独使用,也可以组合使用,具体使用可根据实际问题具体分析。
PART1.2算法与算法分析
1.2.1算法及其特性
3.有穷性
一个算法总是(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有穷时间内完成。
4.确定性
算法中的每条指令都必须有确切的含义,不能有二义性。在任何条件下,算法只有唯一的一条执行路径,即对于相同的输入,只能得到相同的输出。
2.输出
一个算法有一个或多个输出,这些输出是与输入有着一定关系的量。
5.可行性
一个算法必须是可行的,即算法中描述的操作,可通过已经实现的基本运算执行有限次来实现。
1.输入
一个算法有零个或多个输入,这些输入取自某个特定对象的集合。
(2)可读性
可读性是指开发人员对算
法阅读理解的难易程度,
可读性高的算法便于开发
人员之间的交流,有利于
算法的调试与修改。
(1)正确性
正确性的含义是算法对于一切
合法的输入数据都能够得出满
足规格说明要求
文档评论(0)