DSA复习要点及样题.docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构A复习要点 第 1 章基础知识 算法与数据结构(数据结构概念、逻辑结构、数据存储结构示等) 数据抽象和抽象数据类型(数据结构规范、实现) 算法分析的基本方法(时间复杂性、空间复杂性) 第 2 章线性表 线性表的顺序和链接表示 理解在顺序表、单链表上实现线性表运算,能设计相应算法程序 顺序和链接表示的优缺点比较 第 3 章堆栈和队列 了解栈和队列的概念、特点 理解顺序栈和循环队列运算的实现 中缀表达式与后缀表达式的转换 后缀表达式计算 第 4 章数组和字符串 一般数组存储方法 三元组存储稀疏矩阵的方法 三元组表示的快速矩阵转置方法 字符串的概念、KMP 算法及其改进 第 5 章树 二叉树的定义、性质及二叉链表 理解二叉树的遍历算法(遍历结果、算法设计),能设计相应算法 程序 堆、堆的建立和调整 森林与二叉树的相互转换 哈夫曼树构造、哈夫曼编码、WPL 计算 第 6 章集合与搜索 理解有序表的顺序搜索算法 理解对半搜索算法 平均搜索长度的计算 第 7 章搜索树 理解二叉搜索树的定义、性质和插入、删除算法 二叉平衡树的定义及插入算法 B-树的定义和插入、删除方法 第 8 章散列表 掌握散列函数的相关概念 散列函数 解决冲突的开地址法(线性探查法,二次探查法、双散列法) 第 9 章图 图的基本概念和存储结构 理解图的算法(结果):遍历、拓扑排序、最小代价生成树、关键 路径、最短路径第 10 章内排序 三种简单排序算法、快速排序和两路合并排序算法、过程、结果 排序算法的时间复杂度(最好、最差,平均)、稳定性 第 11 章文件 文件的基本概念 初始游程的生成及竞赛树 考试样题 填空题 写出表达式 a*b+c/d 的后缀形式________。 已知一无向图 G=(V,E),其中 V={a,b,c,d,e},E={(a,b), (a,d), (a,c) (d,c), (b,e)} ,现用某一种遍历方法从顶点 a 开始遍历图,得到的序列为 abecd,则采用的是__________遍历方法。 在顺序表长度为 n 中,平均在表中插入一个元素需要移动元素的个 数可用计算公式为________。 一个表长为 n 的线性表,其排序时间最快为。 选择题 具有 n 个顶点的有向完全图中,边的总数为()条。 A)n(n+1) B)n(n-1) C)n(n-1)/2 D)n(n+1)/2 设一个栈输入序列是 1、2、3、4、5,则下列序列中不可能是栈的输 出序列是()。 A)32541 B)15432 C)14523 D )23145 二叉树的前序遍历为 EFHIGJK ,中序遍历序列为 HFIEJKG。该二 叉树根结点的右子树的根是() A) E B) F C) G D) H 对有 14 个元素的有序表 A[1]-A[14]作对半查找,查找元素 A[4]时的 被比较元素依次为() A[1],A[2],A[3],A[4] A[7],A[3],A[5],A[4] A[1],A[2],A[7],A[4] A[7],[A5],A[3],A[4] 设有一个长度为 100 且已排好序的表,用对半搜索进行查找,若搜 索不成功,则至少要比较______次。 () A.9 B.8 C.7 D.6 简答题 用一维数组存放的一棵完全二叉树如图所示: 图 写出前序、中序、后序遍历该二叉树时访问结点的顺序。 图的邻接表表示一个给定的无向图。 给出从顶点 v1 开始,用深度优先搜索法进行遍历时的顶点序 列; 给出从顶点 v1 开始,用广度优先搜索法进行遍历时的顶点序 列。 解答题 设数据集合 d={1,12,5,8,3,10,7,13,9},试完成下列各题: 依次取 d 中各数据,构造一棵二叉搜索树 bt 。 画出在二叉树 bt 中删除 12 后的树结构。 对图的 3 阶 B-树,依次执行下列操作,画出各步操作的结果。 (1)插入 90 ;(2)插入 25;(3)插入 45 ;(4)删除 60; 图 程序阅读题 图采用邻接表存储表示,边结点的结构如图所示,下面的程序是邻 接表类 LinkedGraph 的某个成员函 数 template <class T> void LinkedGraph<T>::A() { int *in=new int[n]; for (int i=0;i<n;i++) in[i]=0; ENode<T> *p; for (i=0;i<n;i++) { p=a[i]; while (p) { in[p->adjvex]++; p=p->nextarc; } } cout<<endl; for (i=0;i<n;i++) cout<<i<<": "<<in[i]<<";"<<endl; delete []in; } 图 图 请说明该成员函数的作用是什么?

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档