数据结构复习知识点.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构复习知识点

一、基本概念 数据:客观事物的符号表示。 数据类型:用以确定数据的取值范围和运算。 数据元素:数据的基本单位。 数据对象:性质相同的元素的集合。 二、数据结构的概念 1、数据结构:数据结构是指数据元素以及其相互之间的关系。 采用一个二元组描述,记为 {D,R} 其中 D是一个数据对象, R是D中所有元素之间关系的有限集合。 2、数据结构的分类(按关系) 按照元素之间的关系,可以将数据结构分为线性结构和非线性结构。 线性关系(一对一关系):对于任意元素存在且仅存在唯一的直接前驱(除首元素),存在且仅存在唯一的直接后继(除尾元素)。 若元素之间的关系呈线性关系,则该数据结构为线性结构。除此之外的均称为非线性数据结构。 典型的线性结构有线性表、栈、队列、广义表; 典型的非线性结构有树与图。 3、物理结构(存储方式) 数据元素及其关系在计算机内的存储表示,也称为数据结构的存储方式。 主要的存储方式有:顺序(静态)、链式(动态)、散列和索引等。常用的是顺序(静态)、链式(动态)两种。 4、常用物理结构的描述 顺序(静态):采用一个一维数组描述,其中:数组元素描述元素,下标函数描述关系; 链式(动态):采用链表描述,其中:结点描述元素,指针描述关系。 三、算法的概念 1. 算法:规则的有限序列,规则是无二义性的。 2.算法特征:可终止性:算法必须在有限时间内终止; 正确性:算法必须是正确描述问题的求解过程; 可行性:算法必须是可实施的; 算法可以有0个或0个以上的输入; 算法必须有1个或1个以上的输出; 3、算法描述 规则采用自然语言或形式语言描述; 算法流程控制采用结构化程序的基本控制结构(顺序、 分支 、重复)描述. 依据结构化程序的特征,给出三种基本结构的流程图描述: 4、算法复杂度的概念 算法复杂度:评价算法优劣的唯一标准。由时间复杂度和空间复杂度构成。 时间复杂度:算法执行所花费的时间; 空间复杂度:算法执行所占用的内存。 设n为问题的大小(即问题所处理元素的 个数),则时间复杂度函数记为T(n),空间复杂读S(n)。 5、时间复杂度描述 时间复杂度采用量级关系描述。 设时间复杂度函数为T(n), 则将T(n)描述为T(n) =O(f(n)),其含义为当n趋于无穷大时, T(n) /f(n)的极限值为一个不等于0的常数。 一般情况下f(n)为一个简单函数,通常有以下形式:C,n,long(n),n!,n的幂等等一些描述简单的函数 四、线性表的概念 4.1定义(逻辑描述):类型相同的数据元素组成的有限序列。表中元素的数目称为线性表的长度。表的长度为0时,称为空表。 4.2、线性表的基本操作 建立一个空表:定义一个表的结构,置表的长度为0; 在线性表的指定位置插入一个元素; 删除线性表指定位置的元素; 求表的长度; 读取表中一个元素; 判表空; 对于顺序表判表满。 4.3 物理描述 物理描述是数据结构的机内表示,对于线性表一般采用顺序存储和链式存储两种。 采用顺序存储的线性表称为顺序表; 采用链式存储的线性表称为链表。 4.3.1物理描述的实现1(顺序表) 顺序方式:依据线性表中数据元素的类型和数目定义一个一维数组,同时定义一个长度变量;构成一个结构体来描述顺序表。 4.3.2 顺序表操作算法的实现 定义一个线性表 SEQtype SLIST。 建立一个空表: SLIST. length =0。 求表的长度;输出SLIST. length 。 4.3.3 物理描述的实现2(链表) 链表方式:依据线性表做数据元素的类型定义一个结构体,同时定义一个指针变量;描述链表表头。 Typedef char Datatype; //假设结点的数据类型是字符型// 5、链表的操作 建立一个空表:定义表头指针head ,置其为空,即head=null; 在链表的指定位置插入一个元素; 删除链表指定位置的元素; 建立一个单向链表 尾插入法建立:设置指针变量 head,P,R; P表示当前结点,R表示链表表尾; 初始化:置head,P,R三个变量均为空,由P申请一个对象,置入要插入的元素,将其插入表尾,置该结点为新的表尾。 遍历一个单向链表 遍历一个单向链表:设表头为当前结点,当当前结点不为空时,访问该结点的元素,置其后继为新的当前结点,重复该过程,直到当前结点为空结束访问。 6、 带头结点的链表 链表的第一个结点不是用来存放元素,而是标记链表的。称为头结点,第一个存放元素的结点称为首结点。指向头结点的指针称为头指针。 五、栈和队列的基本概念 栈和队列是操作受限的线性表。 栈的特点是后进的先出(LIFO)。 队列特点是先进先出(

文档评论(0)

haocen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档