计算机数据结构今年考研真题及答案文档格式.docx
- 文档编号:16139260
- 上传时间:2022-11-20
- 格式:DOCX
- 页数:26
- 大小:334.48KB
计算机数据结构今年考研真题及答案文档格式.docx
《计算机数据结构今年考研真题及答案文档格式.docx》由会员分享,可在线阅读,更多相关《计算机数据结构今年考研真题及答案文档格式.docx(26页珍藏版)》请在冰豆网上搜索。
②选择离u最近且尚未在最短路径中的一个顶点v,加入到最短路径中,修改当前顶点u=v;
③重复步骤②,直到u是目标顶点时为止。
请问上述方法能否求得最短路径?
假设该方法可行,请证明之;
否则,请举例说明。
42.〔15分〕已知一个带有表头结点的单链表,结点结构为
data
link
假设该链表只给出了头指针list。
在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点〔k为正整数〕。
假设查找成功,算法输出该结点的data值,并返回1;
否则,只返回0。
要求:
〔1〕描述算法的基本设计思想
〔2〕描述算法的详细实现步骤
〔3〕根据设计思想和实现步骤,采用程序设计语言描述算法〔使用C或C++或JAVA语言实现〕,关键之处请给出简要注释。
2010
1、假设元素a,b,c,d,e,f依次进栈,允许进栈、退栈操作交替进行。
但不允许连续三次进行退栈工作,则不可能得到的出栈序列是〔〕
A:
dcebfaB:
cbdaefC:
dbcaefD:
afedcb
2、某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作,则不可能得到的顺序是〔〕
bacdeB:
dbaceC:
dbcaeD:
ecbad
3、以下线索二叉树中〔用虚线表示线索〕,符合后序线索树定义的是〔〕
4、在以下所示的平衡二叉树中插入关键字48后得到一棵新平衡二叉树,在新平衡二叉树中,关键字37所在结点的左、右子结点中保存的关键字分别是〔〕
13,48B:
24,48C:
24,53D:
24,90
5、在一棵度为4的树T中,假设有20个度为4的结点,10个度为3的结点,1个度为2的结点,10个度为1的结点,则树T的叶节点个数是〔〕
41B:
82C:
113D:
122
6、对n(n大于等于2)个权值均不相同的字符构成哈夫曼树,关于该树的表达中,错误的选项是〔〕
该树一定是一棵完全二叉树
B:
树中一定没有度为1的结点
C:
树中两个权值最小的结点一定是兄弟结点
D:
树中任一非叶结点的权值一定不小于下一任一结点的权值
7、假设无向图G-〔V.E〕中含7个顶点,则保证图G在任何情况下都是连通的,则需要的边数最少是〔〕
6B:
15C:
16D:
21
8、对以下图进行拓补排序,可以得到不同的拓补序列的个数是〔〕
4B:
3C:
2D:
1
9、已知一个长度为16的顺序表L,其元素按关键字有序排列,假设采用折半查找法查找一个不存在的元素,则比较次数最多是〔〕
5C:
6D:
7
10、采用递归方式对顺序表进行快速排序,以下关于递归次数的表达中,正确的选项是〔〕
递归次数与初始数据的排列次序无关
每次划分后,先处理较长的分区可以减少递归次数
每次划分后,先处理较短的分区可以减少递归次数
递归次数与每次划分后得到的分区处理顺序无关
11、对一组数据〔2,12,16,88,5,10〕进行排序,假设前三趟排序结果如下〔〕
第一趟:
2,12,16,5,10,88
第二趟:
2,12,5,10,16,88
第三趟:
2,5,10,12,16,88
则采用的排序方法可能是:
起泡排序B:
希尔排序C:
归并排序D:
基数排序
问题:
〔1〕请画出所构造的散列表;
〔2〕分别计算等概率情况下,查找成功和查找不成功的平均查找长度。
42.〔13分〕设将n(n,1)个整数存放到一维数组R中,试设计一个在时间和空间两方面尽可能有效的算法,将R中保有的序列循环左移P〔0﹤P﹤n〕个位置,即将R中的数据由〔X0X1……Xn-1〕变换为〔XpXp+1……Xn-1X0X1……Xp-1〕要求:
〔1〕给出算法的基本设计思想。
〔2〕根据设计思想,采用C或C++或JAVA语言表述算法关键之处给出注释。
〔3〕说明你所设计算法的时间复杂度和空间复杂度
2011
1.设n是描述问题规模的非负整数,下面程序片段的时间复杂度是
x=2;
while(x<
n/2)
x=2*x;
A.O(log2n)B.O(n)C.O(nlog2n)D.O(n2)
3.已知循环队列存储在一维数组A[0..n-1]中,且队列非空时front和rear分别指向队头元素和队尾元素。
假设初始时队列为空,且要求第1个进入队列的元素存储在A[0]处,则初始时front和rear的值分别是
A.0,0B.0,n-1C.n-1,0D.n-1,n-1
4.假设一棵完全二叉树有768个结点,则该二叉树中叶结点的个数是
5.假设一棵二叉树的前序遍历序列和后序遍历序列分别为1,2,3,4和4,3,2,1,则该二叉树的中序遍历序列不会是
A.1,2,3,4B.2,3,4,1C.3,2,4,1D.4,3,2,1
6.已知一棵有2011个结点的树,其叶结点个数为116,该树对应的二叉树中无右孩子的结点个数是
7.对于以下关键字序列,不可能构成某二叉排序树中一条查找路径的序列是
A.95,22,91,24,94,71B.92,20,91,34,88,35
C.21,89,77,29,36,38D.12,25,71,68,33,34
8.以下关于图的表达中,正确的选项是
I.回路是简单路径
II.存储稀疏图,用邻接矩阵比邻接表更省空间
III.假设有向图中存在拓扑序列,则该图不存在回路
A.仅IIB.仅I、IIC.仅IIID.仅I、III
9.为提高散列(Hash)表的查找效率,可以采取的正确措施是
I.增大装填(载)因子
II.设计冲突(碰撞)少的散列函数
III.处理冲突(碰撞)时防止产生聚集(堆积)现象
A.仅IB.仅IIC.仅I、IID.仅II、III
10.为实现快速排序算法,待排序序列宜采用的存储方式是
11.已知序列25,13,10,12,9是大根堆,在序列尾部插入新元素18,将其再调整为大根堆,调整过程中元素之间进行的比较次数是
41.(8分)已知有6个顶点(顶点编号为0~5)的有向带权图G,其邻接矩阵A为上三角矩阵,按行为主序(行优先)保存在如下的一维数组中。
(1)写出图G的邻接矩阵A。
(2)画出有向带权图G。
(3)求图G的关键路径,并计算该关键路径的长度。
42.(15分)一个长度为L(L≥1)的升序序列S,处在第é
L/2ù
个位置的数称为S的中位数。
例如,假设序列S1=(11,13,15,17,19),则S1的中位数是15。
两个序列的中位数是含它们所有元素的升序序列的中位数。
例如,假设S2=(2,4,6,8,20),则S1和S2的中位数是11。
现有两个等长升序序列A和B,试设计一个在时间和空间两方面都尽可能高效的算法,找出两个序列A和B的中位数。
要求:
(1)给出算法的基本设计思想。
(2)根据设计思想,采用C或C++或JAVA语言描述算法,关键之处给出注释。
(3)说明你所设计算法的时间复杂度和空间复杂度。
2012
1、求整数n(n≥0)阶乘的算法如下,其时间复杂度是()
intfact(intn)
{if(n<
=1)return1;
returnn*fact(n-1);
}
A.O(log2n)B.O(n)C.(nlog2n)D.O(n2)
2、已知操作符包括‘+’、‘-’、‘*’、‘/’、‘(’和‘)’。
将中缀表达式a+b-a*((c+d)/e-f)+g转换为等价的后缀表达式ab+acd+e/f-**-g+时,用栈来存放暂时还不能确定运算次序的操作符,假设栈初始时为空,则转换过程中同时保存栈中的操作符的最大个数是()
3、假设一颗二叉树的前序遍历序列为a,e,b,d,c,后续遍历序列为b,c,d,e,a,则根节点的孩子节点()
4、假设平衡二叉树的高度为6,且所有非叶节点的平衡因子均为1,则该平衡二叉树的节点总数为()
5、对有n个节点、e条边且使用邻接表存储的有向图进行广度优先遍历,其算法时间复杂度()
A.O(n)B.O(e)C.O(n+e)D.O(n*e)
6、假设用邻接矩阵存储有向图,矩阵中主对角线以下的元素均为零,则关于该图拓扑序列的结构是()
A.存在,且唯一B.存在,且不唯一
7、如下有向带权图,假设采用迪杰斯特拉〔Dijkstra〕算法求源点a到其他各顶点的最短路径,得到的第一条最短路径的目标顶点是b,第二条最短路径的目标顶点是c,后续得到的其余各最短路径的目标顶点依次是()
A.d,e,fB.e,d,fC.f,d,eD.f,e,d
8、以下关于最小生成树的说法中,正确的选项是()
Ⅰ、最小生成树的代价唯一
Ⅱ、所有权值最小的边一定会出现在所有的最小生成树中
Ⅲ、使用普里姆〔Prim〕算法从不同顶点开始得到的最小生成树一定相同
Ⅳ、使用普里姆算法和克鲁斯卡尔〔Kruskal〕算法得到的最小生成树总不相同
ⅠⅡⅠ、ⅢⅡ、Ⅳ
9、已知一棵3阶B-树,如以下图所示。
删除关键字78得到一棵新B-树,其最右叶结点中的关键字是()
B.60,62C.62,65
10、在内部排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。
以下排序方法中,每一趟排序结束都至少能够确定一个元素最终位置的方法是()
Ⅰ.简单项选择择排序Ⅱ.希尔排序Ⅲ.快速排序
Ⅳ.堆排序Ⅴ.二路归并排序
Ⅰ、Ⅲ、ⅣⅠ、Ⅲ、Ⅴ
Ⅱ、Ⅲ、ⅣⅢ、Ⅳ、Ⅴ
11.对一待排序序列分别进行折半插入排序和直接插入排序,两者之间可能的不同之处是()
二、问答题。
41、〔10分〕设有6个有序表A、B、C、D、E、F,分别含有10、35、40、50、60和200个数据元素,各表中元素按升序排列。
要求通过5次两两合并,将6个表最终合并成1个升序表,并在最坏情况下比较的总次数到达最小。
请答复以下问题。
〔1〕给出完整的合并过程,并求出最坏情况下比较的总次数。
〔2〕根据你的合并过程,描述N(N≥2)个不等长升序表的合并策略,并说明理由。
42、〔13分〕假定采用带头结点的单链表保存单词,当两个单词有相同的后时缀,则可共享相同
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 数据结构 今年 考研 答案