1-1 算法分析的两个主要方面是时间复杂度和空间复杂度的分析。 (2分)
作者: DS课程组 单位: 浙江大学
1-2 所谓“循环队列”是指用单向循环链表或者循环数组表示的队列。 (2分)
作者: DS课程组 单位: 浙江大学
1-3 通过对堆栈S操作:Push(S,1), Push(S,2), Pop(S), Push(S,3), Pop(S), Pop(S)。输出的序列为:123。 (3分)
作者: DS课程组 单位: 浙江大学
1-4 在一棵由包含4、5、6等等一系列整数结点构成的二叉搜索树中,如果结点4和6在树的同一层,那么可以断定结点5一定是结点4和6的父亲结点。 (3分)
作者: DS课程组 单位: 浙江大学
1-5 用邻接矩阵法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关。 (3分)
作者: DS课程组 单位: 浙江大学
1-6 若一个结点是某二叉树的中序遍历序列的最后一个结点,则它必是该树的前序遍历序列中的最后一个结点。 (3分)
作者: DS课程组 单位: 浙江大学
1-7 如果无向图G必须进行两次广度优先搜索才能访问其所有顶点,则G一定有2个连通分量。 (3分)
作者: DS课程组 单位: 浙江大学
1-8 将一棵完全二叉树存于数组中(根结点的下标为1)。则下标为23和24的两个结点是兄弟。 (3分)
作者: 何钦铭 单位: 浙江大学
1-9 若一棵平衡二叉树的所有非叶结点的平衡因子都是0,则其必为完美二叉树。(3分)
作者: 徐镜春 单位: 浙江大学
1-10 在具有N个结点的单链表中,访问结点和增加结点的时间复杂度分别对应为O(1)和O(N)。 (3分)
作者: DS课程组 单位: 浙江大学
2-1 下列代码
for(i=0; i0; j/=2)
printf(“%d\n”, j);
的时间复杂度是: (4分)
作者: DS课程组 单位: 浙江大学
2-2 三叉树中,度为1的结点有5个,度为2的结点3个,度为3的结点2个,问该树含有几个叶结点? (4分)
作者: DS课程组 单位: 浙江大学
2-3 下列函数中,哪两个函数具有相同的增长速度:(4分)
作者: DS课程组 单位: 浙江大学
2-4 表达式a*(b+c)-d的后缀表达式是: (4分)
A. a b c + * d -
B. a b c d * + -
C. a b c * + d -
D. - + * a b c d
作者: DS课程组 单位: 浙江大学
2-5 在并查集问题中,已知集合元素0~8所以对应的父结点编号值分别是{ 1, -4, 1, 1, -3, 4, 4, 8, -2 }(注:−n表示树根且对应集合大小为n),那么将元素6和8所在的集合合并(要求必须将小集合并到大集合)后,该集合对应的树根和父结点编号值分别是多少? (4分)
作者: DS课程组 单位: 浙江大学
2-6 在将数据序列( 6, 1, 5, 9, 8, 4, 7 )建成大根堆时,正确的序列变化过程是:(4分)
作者: 考研真题 单位: 浙江大学
2-7 已知一棵完全二叉树的第6层(设根为第1层)有8个叶结点,则该完全二叉树的结点个数最多是: (4分)
作者: DS课程组 单位: 浙江大学
2-8 设一段文本中包含字符{a, b, c, d, e},其出现频率相应为{3, 2, 5, 1, 1}。则经过哈夫曼编码后,文本所占字节数为: (4分)
作者: DS课程组 单位: 浙江大学
2-9 若某图的深度优先搜索序列是{V2, V0, V4, V3, V1},则下列哪个图不可能对应该序列? (4分)
作者: 陈越 单位: 浙江大学
2-10 设h为不带头结点的单向链表。在h的头上插入一个新结点t的语句是:(4分)
作者: DS课程组 单位: 浙江大学
2-11 循环顺序队列中是否可以插入下一个元素()。 (4分)
作者: 严冰 单位: 浙江大学城市学院
作者: DS课程组 单位: 浙江大学
5-1 下列代码的功能是从一个大顶堆H的某个指定位置p开始执行下滤。
void PercolateDown( int p, PriorityQueue H ) {
int child;
ElementType Tmp = H->Elements[p];
for ( ; p * 2 <= H->Size; p=child ) {
child = p * 2;
if ( child!=H->Size && _________________________(6分))
child++;
if ( H->Elements[child] > Tmp )
_____________________________(6分);
else break;
}
H->Elements[p] = Tmp;
}
作者: 陈越
单位: 浙江大学
时间限制: 400 ms
内存限制: 64 MB
5-2 下列代码的功能是返回带头结点的单链表L的逆转链表。
List Reverse( List L ) {
Position Old_head, New_head, Temp;
New_head = NULL;
Old_head = L->Next;
while ( Old_head ) {
Temp = Old_head->Next;
_____________________________(6分);
New_head = Old_head;
Old_head = Temp;
}
_______________________________(6分);
return L;
}
作者: DS课程组
单位: 浙江大学
时间限制: 400 ms
内存限制: 64 MB