- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第1章绪论数据结构(C++描述)目录1什么是数据结构1.1.1数据结构示例1。线性表示例一层二层三层四层Q1Q2Q3Q42。树形结构示例3。图形结构示例基本术语数据(data)数据是指能够输入到计算机中,并被计算机识别和处理的符号的集合。例如:数字、字母、汉字、图形、图像、声音都称为数据。数据元素(dataelement)数据元素是组成数据的基本单位。数据元素是一个数据整体中相对独立的单位。但它还可以分割成若干个具有不同属性的项(字段),故不是组成数据的最小单位。是性质相同的数据元素组成的集合,是数据的一个子集。例如,整数数据对象的集合可表示为N={0,±1,±2…….},字母字符数据对象的集合可表示为C={‘A’,’B’,…’Z’}。3.数据对象(dataobject)是一组性质相同的值的集合以及定义于这个值集合上的一组操作的总称。例如,高级语言中用到的整数数据类型,是指由-32768到32767中值构成的集合及一组操作(加、减、乘、除、乘方等)的总称。4.数据类型(datatype)在本书中,描述一种抽象数据类型将采用如下书写格式:ADT抽象数据类型名isData:数据描述Operations:操作声明END抽象数据类型(AbstractDataType)是指一个数学模型以及定义在该模型上的一组操作。1.1.3数据结构1.数据结构(datastructure)是指相互之间存在一种或多种特定关系的数据元素所组成的集合。具体来说,数据结构包含三个方面的内容,即数据的逻辑结构,数据的存贮结构和对数据所施加的运算。这三个方面的关系为:(1)数据的逻辑结构独立于计算机,是数据本身所固有的。(2)存贮结构是逻辑结构在计算机存贮器中的映像,必须依赖于计算机。(3)运算是指所施加的一组操作总称。运算的定义直接依赖于逻辑结构,但运算的实现必依赖于存贮结构。010203数据结构从逻辑结构划分为:2.从逻辑结构划分数据结构元素之间为一对一的线性关系,第一个元素无直接前驱,最后一个元素无直接后继,其余元素都有一个直接前驱和直接后继。(1)线性结构元素之间为一对多或多对多的非线性关系,每个元素有多个直接前驱或多个直接后继。(2)非线性结构数据结构从存贮结构划分为:3.从存贮结构划分数据结构所有元素存放在一片连续的存贮单元中,逻辑上相邻的元素存放到计算机内存仍然相邻。(1)顺序存贮(向量存贮)所有元素存放在可以不连续的存贮单元中,但元素之间的关系可以通过地址确定,逻辑上相邻的元素存放到计算机内存后不一定是相邻的。(2)链式存贮(3)索引存贮使用该方存放元素的同时,还建立附加的索引表,索引表中的每一项称为索引项,索引项的一般形式是:(关键字,地址),其中的关键字是能唯一标识一个结点的那些数据项。(4)散列存贮通过构造散列函数,用函数的值来确定元素存放的地址。4.数据结构的抽象描述数据结构可用二元组D=(K,R)的形式来描述。其中,K={a1,a2,…,an}为元素集合,R={r1,r2,…,rm}为关系的集合。例1-5设有一个线性表(a1,a2,a3,a4,a5),它的抽象描述可表示为D=(K,R),其中K={a1,a2,a3,a4,a5},R={a1,a2,a2,a3,a3,a4,a4,a5},则它的逻辑结构用图描述见图1-4。a1a2a3a4a5图1-4线性表的逻辑结构描述例1-6设一个数据结构的抽象描述为D=(K,R),其中K={a,b,c,d,e,f,g,h},r={a,b,a,c,a,d,b,e,c,f,c,g,d,h},则它的逻辑结构用图描述见图1-5。例1-7设一个数据结构的抽象描述为D=(K,R),其中K={1,2,3,4},而R={(1,2),(1,3),(1,4),(2,3),(2,4),(3,4)},则它的逻辑结构用图描述见图1-6。1.2算法的描述1.2.1基本概念1.算法(algorithm)通俗地讲,算法就是一种解题的方法。更严格地说,算法是由若干条指令组成的有穷序列,它必须满足下述条件(也称为算法的五大特性):(1)输入:具有0个或多个输入的外界量(算法开始前的初始量)(2)输出:至少产生一个输出,它们是算法执行完后的结果。(3有穷性:每条指令的执行次数必须是有限的。(4)确定性:每条指令的含义都必须明确,无二义性。(5)可行性:每条指令的执行时间都是有限的。算法和程序的关系算法的含义与程序十分相似,但二者是有区别的。一个程序不一定满足有穷性(死循环),另外
文档评论(0)