数据结构总复习04429.pptVIP

  1. 1、本文档共39页,可阅读全部内容。
  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文档。上传文档
查看更多
数据结构总复习04429

数据结构总复习 考试题型 选题题30分,共15题 判断题10分,共10题 简答题25分,共5题 应用提35分,共5题 第1章 绪论 数据结构的定义 按某种逻辑关系组织起来的一批数据(或称带结构的数据元素的集合)应用计算机语言并按一定的存储表示 方式把它们存储在计算机的存储器中,并在其上定义了一个运算的集合。 具体来说,数据结构包含三个方面的内容,即数据的逻辑结构,数据的存贮结构和对数据所施加的运算(操作)。 算法 算法 内涵:   是对特定问题求解步骤的一种描述,是指令的有限序列,其中每一条指令表示一个或多个操作。 特性: ? 有穷性:有穷步+有穷时间/每一步 ? 确定性:指令的语义无二义性 ? 可行性:算法能用基本操作完成 ? 输入:零个或多个输入 ? 输出:一个或多个输出 算法设计的要求 ? 正确性(Correctness) ? 可读性(Readablity) ? 健壮性(Robustness) ? 高时间效率与低存储量需求 算法与数据结构 算法与数据结构关系密切 选择的数据结构是否恰当直接影响算法的效率;而数据结构的优劣由算法的执行来体现。 计算机科学家沃斯N.Wirth “算法+数据结构=程序” 算法程序 算法是供人阅读的 程序是让机器执行的 算法用计算机语言实现时就是程序 程序不具有算法的有穷性 算法效率的衡量方法和准则 语句频度:语句在算法中被重复执行的次数 一个算法的评价主要从时间复杂度和空间复杂度来考虑。 第2章 线性表 线性结构的特点:在数据元素的非空有限集中,有且仅有一个开始结点和一个终端结点,并且所有结点只有一个直接前趋和一个直接后继。简言之,线性结构反映结点间的逻辑关系是 一对一。线性结构包括线性表、堆栈、队列、字符串、数组等等,其中,最简单、最常用的是线性表。 线性表的定义及特点 线性表的存储方法 顺序存储:逻辑上相邻物理上一定相邻 链式存储:逻辑上相邻物理上不一定相邻 顺序表 顺序表——线性表的顺序存储表示 顺序存储——用一组地址连续的存储单元依次存储线性表的元素,可通过数组来实现。(逻辑上相邻物理上一定相邻) LOC(ai ) = LOC(a1) + (i - 1) ? l (a1为首元素) 顺序存储的优点 可以随机存取表中任一元素O(1);存储空间使用紧凑 顺序存储的缺点: 在插入元素时平均需要移动n/2个元素,删除某一元素时,平均需要移动n-1/2个元素。算法的 平均时间复杂度为 O(n) 预先分配空间需按最大空间分配,利用不充分;表容量难以扩充 链表——线性表的链式存储 链式存储结构特点 用一组任意的存储单元存储线性表的数据元素 利用指针实现了用不相邻的存储单元存放逻辑上相邻的元素 每个数据元素ai,除存储本身信息外,还需存储其直接后继的信息 链式存储结构的优点: 结点空间可以动态申请和释放; 数据元素的逻辑次序靠结点的指针来指示,插入和删除时不需要移动数据元素。 链式存储结构的缺点: 每个结点的指针域需额外占用存储空间。当数据域所占字节不多时,指针域所占存储空间的比重显得很大。 链表是非随机存取结构。对任一结点的操作都要从头指针依链查找该结点,这增加了算法的复杂度。 O(n) 不便于在表尾插入元素:需遍历整个表才能找到位置。 第3章 栈和队列 栈——限定仅在表尾进行插入和删除的线性表,把这个表尾称为栈顶。 特点:后进先出(LIFO表) 栈的存储方法 栈的顺序存储——顺序栈 栈的链式存储——链栈 例1:一个栈的输入序列是12345,若在入栈的过程中允许出栈,则栈的输出序列43512可能实现吗?12345的输出呢? 43512不可能实现,主要是其中的12顺序不 能实现; 12345的输出可以实现,只需压入一个立即 弹出一个即可。 例3一个栈的输入序列为123,若在入栈的过程中允许出栈,则可能得到的出栈序列是什么? 第6章 二叉树和树 二叉树的定义 定义:是n(n≥0)个结点的有限集合,由一个根结点以及两棵互不相交的、分别称为左子树和右子树的二叉树组成 。 逻辑结构: 一对二(1:2) 基本特征: ① 每个结点最多只有两棵子树(不存在度大于2的结点); ② 左子树和右子树次序不能颠倒(有序树)。 ③二叉树不是树的特殊情况 满二叉树 完全二叉树 二叉树存储 二叉树存储方法有顺序存储和链式存储 二叉树顺序存储结构 完全二叉树:用一组地址连续的存储单元依次自上而下、自左至右存储结点元素,即将编号为 i 的结点元素存储在一维数组中下标为 i 的分量中(不用下标为0存储单元)。此顺序存储结构仅适用于完全二叉树 不是完全二叉树怎么办? 一律转为完全二叉树!方法很简单,将各层空缺处统统补上“虚结点”,其内容为空。 缺点

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档