2019年研究生考试408选择题数据结构部分解析
1.设n是描述问题规模的非负整数,下列程序段的时间复杂度是
x = 0; while ( n >= (x+1) * (x+1) ) x = x+1;
知识点:时间复杂度
解析:x2^{2}2与n的比较,所以答案是B. O(n1/2^{1/2}1/2)
2.若将一棵树T转化为对应的二叉树BT,则下列对BT的遍历中,其遍历序列与T的后根遍历序列相同的是
知识点:二叉树,树的遍历
解析:
第一步,需要知道如何将一棵树转化为二叉树:对于每一个结点,第一个孩子结点放左子树,其余孩子结点(即第一个孩子结点的兄弟结点)放在第一个孩子结点的右子树,其余的孩子结点再依次放在右子树的右子树,依次类推。如下图所示。
第二步,需要知道选项中的四种遍历方式
先序遍历:该结点,左子树,右子树
中序遍历:左子树,该结点,右子树
后序遍历:左子树,右子树,该节点
层次遍历:队列实现
前3种遍历方式,左子树都是先于右子树,“先”、“中”、“后”指的是访问该结点的次序,对于上图,我们发现,对树的后序遍历与对二叉树的中序遍历相同,选B.中序遍历
3.对n个互不相同的符号进行哈夫曼编码。若生成的哈夫曼树共有115个结点,则n的值是
知识点:哈夫曼树
解析:哈夫曼树是一颗带权路径长度最短二叉树,有性质:n个叶子结点的哈夫曼树,共2n-1个结点
2n-1=115 解得n=58 选C.58
4.在任意一颗非空平衡二叉树(AVL树)T1_11中,删除某结点v之后形成平衡二叉树T2_22,再将v插入T2_22形成平衡二叉树T3_33。下列关于T1_11与T3_33的叙述中,正确的是
知识点:平衡二叉树的插入、删除操作
解析:平衡二叉树的插入、删除操作可能会引起树的旋转(为了保持树的平衡性),所以T1_11与T3_33可能不相同,选A
5.下图所示的AOE网表示一项包含8个活动的工程。活动d的最早开始时间和最迟开始时间分别是
知识点:图论
解析:AOE网是以边表示活动的有向无环网。活动d开始必须满足活动a和活动b结束,所以最早开始时间是12。最晚开始时间是指不会延长整个网的结束时间的前提下,d的开始时间。结点1到结点6的最长路径(关键路径)是27,结点4的最晚开始时间是27-6=21,结点d的最晚开始时间是21-7=14。答案选C. 12和14
6.用有向无环图描述表达式(x+y)∗((x+y)/x)(x+y)*((x+y)/x)(x+y)∗((x+y)/x),需要的顶点个数至少是
知识点:树的构造
解析:每一个运算符(∗,+,/*,+,/∗,+,/)和运算数(x,yx,yx,y)都表示成树的结点,运算符结点的左右孩子结点是2个运算数结点,重复的指向同一个结点即可,如下图所示。
7.选择一个排序算法时,除算法的时空效率外,下列因素中,还需要考虑的是
知识点:排序算法
解析:数据的规模,数据的存储方式,算法的稳定性,数据的初始状态都需要考虑,选D
8.现有长度为11且初始为空的散列表HT,散列函数是H(key)=key%7,采用线性探查(线性探测再散列)法解决冲突。将关键字序列87,40,30,6,11,22,98,20依次插入到HT后,HT查找失败的平均查找长度是
知识点:哈希查找
解析:分2步
第一步,构造散列表
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
98 | 22 | 30 | 87 | 11 | 40 | 6 | 20 |
第二步,明白什么是查找失败的平均查找长度?
什么时候才会查找失败?只有当遇到关键字为空的地址时才会查找失败,key%7之后,初始地址只可能在0-6,所以即0-6到空地址的距离求平均,即为查找失败的平均查找长度
初始地址是0的失败查找长度为9,同理得初始地址为1,2,3,4,5,6的失败查找长度为8,7,6,5,4,3
(9+8+7+6+5+4+3)/7=6
答案是C.6
9.设主串T=“abaabaabcabaabc”,模式串S=“abaabc”,采用KMP算法进行模式匹配,到匹配成功时为止,在匹配过程中进行的单个字符间的比较次数是
知识点:KMP
解析:KMP算法主串的next数组表示的是当前字符前面的子串,最长的前面和后面相同的字符串的长度,正是因为前面和后面相同,所以可以直接跳过。主串的next数组如下。
a | b | a | a | b | a | a | b | c | a | b | a | a | b | c |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
-1 | 0 | 0 | 1 | 1 | 2 | 3 | 4 | 5 | 0 | 1 | 2 | 3 | 4 | 5 |
当S的最后一个c和主串的a不匹配时,主串a的next是2,所以模式串的前2个字符不用匹配,从第3个开始匹配,总共比较10次,选B. 10
水平有限,有不当之处欢迎指正。
- 雅虎公司C#笔试题,包括问答题和选择题两部分。试试看,你能回答出多少题,可以通过雅虎的考试吗?
- PTA 数据结构部分选择题
- 2019年广西大学硕士研究生入学《数据结构与程序设计(817)》考试大纲
- 2015年考研核心考点命题思路解密——数据结构 第二章 线性表 考点3 线性表的链式存储(选择题部分)
- 2014年计算机考研真题重点选择题部分真题及解析
- Sun java认证考试真题答案及部分解析(一)
- 北京大学学生校规校纪考试 2016级研究生 部分题库及答案
- Sun java认证考试真题答案及部分解析(二)
- Sun java认证考试真题答案及部分解析(三)
- 第三部分数据结构[专业课考试3]
- Hibernate考试选择题解析
- [思科认证]06-07年CCNA 640-801考试题库[LAB部分] 超详细解析你还担心LaB不能拿满分吗??
- 2009年全国硕士研究生入学统一考试政治理论考试大纲(解析版)
- PTA ——浙江大学部分数据结构题目解析
- 考试酷解析——A13_Precedence and Order of Evaluation-2
- HDU1877 又一版A+B 浙大计算机研究生复试上机考试-2008年
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及文件上传的部分
- C++类模板 实现循环队列的顺序存储结构算法 《数据结构》(北京科海) 部分摘抄 自己编写实现
- 数据结构本质解析之----线性表与栈
- Scala最常用数据结构Map和Tuple解析