数据结构复习-铁宇彤完整版v01.docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构复习-铁宇彤完整版v01

考试题型 选择题: 21分 填空题: 18分 判断题: 15分 图表题: 26分 算法题: 20分 1.什么是图的邻接矩阵表示法?什么是图的邻接表表示法?在这两种存储结构上如何计算顶点的度? 邻接矩阵 一个有n个顶点的图G=(V,E)的邻接矩阵是一个n?n的矩阵A,A的每个元素是0或1。 设V={0,1,2,……,n-1},如果G是无向图,则A的元素定义为: 1 (u,v)?E A(u,v) = 0 其他 如果G是有向图,则A的元素定义为: 1 u,v?E A(u,v) =0 其他 如果G是带权的图,则邻接矩阵中值为1的元素应替换为权值,有时需要将0替换为? 。(详见PPT unit7-1 20-21) 邻接表 要点: 1. 为图中每一个顶点建立一个单链表; 2. 顶点u的单链表中,每一个结点v表示一个邻接点, 即代表一条边(u,v) 或 u,v 3. 结点和边的结构如下: 4.每个单链表的头指针存入一个一维数组,以表示一个图。(详见PPT unit7-1 20-21) 2.什么是堆?什么是最大堆?什么是最小堆?如何利用下推(筛选)操作建堆?如何利用逐步插入结点(上推)的操作建堆? 一个大小为n的堆(heap)是一棵包含n个结点的完全二叉树。 每个结点的关键字值大于等于双亲结点的关键字值的堆称为最小堆(MinHeap)。 最小堆的另一定义 当完全二叉树以顺序方式存储时,实际上得到的是结点序列,所以最小堆又可以定义为: 堆是n个元素的序列(k1,k2,…,kn),当且仅当满足 ki? k2i 且ki? k2i+1, ( i=1,2,…,?n/2? ) 时,称为最小堆。 函数AdjustDown(向下调整) 设序列以顺序方式保存在一维数组中,数组元素具有可比较大小的类型。函数AdjustDown假定从数组中r+1到n,这n-r个位置上的元素已满足ki? k2i 且ki? k2i+1,(i=r+1,2,…,?n/2?)条件,现向下调整第r位置上的元素,如果kr大于 k2r 和k2r+1,(即左、右孩子)中的较小的元素,则将kr与该较小元素交换,继续这样(向下调整)的过程,直到不再需要调整,或到达堆的底部为止。 (详见PPT unit 6 堆排序 PPT unit 4-2 堆) 3.什么是二叉树的前序、中序、后序遍历?给出其中的两种遍历次序如何写出第三种遍历次序? 先序遍历 若二叉树为空,则空操作; 否则,访问???结点;先序遍历左子树;先序遍历右子树。 中序遍历 若二叉树为空,则空操作; 否则,中序遍历左子树;访问根结点;中序遍历右子树。 后序遍历 若二叉树为空,则空操作; 否则,后序遍历左子树;后序遍历右子树;访问根结点。 (详见PPT unit4-1 21-22) 4.什么是二叉搜索树和AVL树?有何性质?如何进行插入和查找的操作? 二叉搜索树(binary search tree)也称二叉排序树(binary sort tree)。二叉搜索树或者是一棵空二叉树,或者是具有下列性质的二叉树: (1)每个结点由关键字值表征,所有结点的关键字值各不相同; (2)若左子树不空,则左子树上所有结点的关键字值均小于根结点的关键字值; (3)若右子树不空,则右子树上所有结点的关键字值均大于根结点的关键字值; (4)左、右子树也分别是二叉搜索树。 (详见PPT unit5-1 22) 二叉搜索树的搜索算法 搜索算法思路是:若二叉树为空,则搜索失败。否则,将k与根的关键字值比较,若k小于该关键字值,则用同样的方法搜索左子树,而不必搜索右子树;若k大于该关键字值,则用同样的方法搜索右子树,而不必搜索左子树;若k等于该关键字值,则搜索成功终止。 二叉搜索树的插入算法 插入算法思路是: (1)确定新元素的插入位置。 搜索插入位置的方法与Search函数的做法类似,但要求在从根结点往下搜索过程中,用指针q记录下当前元素的双亲结点。 如果在搜索中,遇到相同关键字值的元素,则表明有重复元素,那么显示Duplicate信息。 (2)插入新元素 如果二叉搜索树是空树,则新元素e成为树根。如果e的关键字值小于q结点的值,则将新元素e作为q的左孩子,否则作为其右孩子。 AVL树:一棵AVL树或者是空树,或者是具有下列性质的二叉搜索树:它的左子树和右子树都是AVL树,且左子树和右子树的高度之差的绝对值不超过1。 (每个结点附加一个数字,给出该结点右子树的高度减去左子树的高度

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档