数据结构知识点.docVIP

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
概念总结 第一章概论 1.数据结构描述的是依据肯定规律关系组织起来的待处理数据元素的表示及相关操作,涉及 数据的规律结构、存储结构和运算 2.数据的规律结构是从详细问题抽象出来的数学模型,反映了事物的组成结构及事物之间的 规律关系 可以用一组数据(结点集合K) 以及这些数据之间的一组二元关系(关系集合R) 来表示: (K,R) 结点集K 是由有限个结点组成的集合,每一个结点代表一个数据或一组有明确结构的数据 关系集R 是定义在集合K 上的一组关系,其中每个关系r(r∈R) 都是K×K 上的二元关系 3.数据类型 a.基本数据类型 整数类型(integer)、实数类型(real)、布尔类型(boolean)、字符类型(char)、指针类型(pointer) b.复合数据类型 复合类型是由基本数据类型组合而成的数据类型;复合数据类型本身,又可参加定义结构更 为简单的结点类型 4.数据结构的分类:线性结构(一对一)、树型结构(一对多)、图结构(多对多) 5.四种基本存储映射方法:挨次、链接、索引、散列 6.算法的特性:通用性、有效性、确定性、有穷性 7.算法分析:目的是从解决同一个问题的不同算法中选择比较适合的一种,或者对原始算法 进行改造、加工、使其优化 8.渐进算法分析 a. 大0分析法:上限,表明最坏状况 b.Q 分析法:下限,表明最好状况 c. ◎ 分析法:当上限和下限相同时,表明平均状况 其次章线性表 1.线性结构的基本特征 a.集合中必存在唯一的一个“第一元素” b.集合中必存在唯一的一个“最终元素” c.除最终元素之外,均有唯一的后继 d.除第一元素之外,均有唯一的前驱 2.线性结构的基本特点:匀称性、有序性 3.挨次表 a.主要特性:元素的类型相同;元素挨次地存储在连续存储空间中,每一个元素唯一的索引 值;使用常数作为向量长度 b.线性表中任意元素的存储位置: Loc(ki)=Loc(k0)+i*L(设每个元素需占用L个存储单元) c.线性表的优缺点: 优点:规律结构与存储结构全都;属于随机存取方式,即查找每个元素所花时间基本一样 缺点:空间难以扩充 d.检索:ASL=【o(1)】 e.插入:插入前检查是否满了,插入时插入处后的表需要复制【0 (n)】 f.删除:删除前检查是否是空的,删除时直接掩盖就行了【0 (n)】 4.链表 4.1单链表 a.特点:规律挨次与物理挨次有可能不全都;属于挨次存取的存储结构,即存取每个数据元 素所花费的时间不相等 b.带头结点的怎么判定空表: head和 tail 指向单链表的头结点 c.链表的插入 (q-next=p-next;p-next=q;)【0(n)】 d.链表的删除 (q=p-next;p-next=q-next;delete q;)【O(n)】 1)数制转换 e.不足: next仅指向后继,不能有效找到前驱 4.2双链表 a.增加前驱指针,弥补单链表的不足 b.带头结点的怎么判定空表:head和 tail 指向单链表的头结点 c.插入: (q-next=p-next;q-prev=p;p-next=q;q-next-prev=q;) d.删除:(p-prev-next=p-next;p-nextprev=p-prev; p-prev=p-next =NULL; delete p;) 4.3挨次表和链表的比较 4.3.1 主要优点 a.挨次表的主要优点 没用使用指针,不用花费附加开销;线性表元素的读访问特别简洁便利 b.链表的主要优点 无需事先了解线性表的长度;允许线性表的长度有很大变化;能够适应常常插入删除内部元 素的状况 4.3.2应用场合的选择 a.不宜使用挨次表的场合 常常插入删除时,不宜使用挨次表;线性表的最大长度也是一个重要因素 b.不宜使用链表的场合 当不常常插入删除时,不应选择链表;当指针的存储开销与整个结点内容所占空间相比其 比例较大时,应当慎重选择 第三章栈与队列 1.栈 a.栈是一种限定仅在一端进行插入和删除操作的线性表;其特点后进先出;插入:入栈(压 栈);删除:出栈(退栈);插入、删除一端被称为栈顶(浮动),另一端称为栈底(固定); 实现分为挨次栈和链式栈两种 b.应用: while (N) { N%8 入栈; N=N/8 } while (栈非空){ 出栈; 输出;】 2)括号匹配检验 不匹配状况:各类括号数量不同;嵌套关系不正确 算法: 逐一处理表达式中的每个字符ch: ch=非括号:不做任何处理 ch=左括号:入栈 ch=右括号:if (栈空) return false else { 出栈,检查匹配状况, if(不匹配) return false } 假如结束后,栈非空,返回 false 3)表达式求值 3.1中缀表达式: 计算规

文档评论(0)

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

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

1亿VIP精品文档

相关文档