1-1
无向连通图所有顶点的度之和为偶数。 (3分)
T F
Author: DS课程组
Organization: 浙江大学
1-2
如果无向图G必须进行两次广度优先搜索才能访问其所有顶点,则G一定有2个连通分量。 (3分)
T F
Author: DS课程组
Organization: 浙江大学
1-3
所谓“循环队列”是指用单向循环链表或者循环数组表示的队列。 (2分)
T F
Author: DS课程组
Organization: 浙江大学
1-4
某二叉树的前序和中序遍历序列正好一样,则该二叉树中的任何结点一定都无右孩子。 (3分)
T F
Author: DS课程组
Organization: 浙江大学
1-5
算法分析的两个主要方面是时间复杂度和空间复杂度的分析。 (2分)
T F
Author: DS课程组
Organization: 浙江大学
1-6
若一个栈的输入序列为{1, 2, 3, 4, 5},则不可能得到{3, 4, 1, 2, 5}这样的出栈序列。 (3分)
T F
Author: 徐镜春
Organization: 浙江大学
1-7
将一棵完全二叉树存于数组中(根结点的下标为1)。则下标为23和24的两个结点是兄弟。 (3分)
T F
Author: 何钦铭
Organization: 浙江大学
1-8
若用链表来表示一个线性表,则表中元素的地址一定是连续的。 (3分)
T F
Author: 陈越
Organization: 浙江大学
1-9
在一棵由包含4、5、6等等一系列整数结点构成的二叉搜索树中,如果结点4和6在树的同一层,那么可以断定结点5一定是结点4和6的父亲结点。 (3分)
T F
Author: DS课程组
Organization: 浙江大学
1-10
将1、2、3、4、5、6顺序插入初始为空的AVL树中,当完成这6个元素的插入后,该AVL树的先序遍历结果是:4、2、1、3、5、6。 (3分)
T F
2-1
在并查集问题中,已知集合元素0~8所以对应的父结点编号值分别是{ 1, -4, 1, 1, -3, 4, 4, 8, -2 }(注:−n表示树根且对应集合大小为n),那么将元素6和8所在的集合合并(要求必须将小集合并到大集合)后,该集合对应的树根和父结点编号值分别是多少? (4分)
Author: DS课程组
Organization: 浙江大学
2-2
下列函数中,哪个函数具有最快的增长速度? (4分)
Author: DS课程组
Organization: 浙江大学
2-3
给定N×N×N的三维数组A,则在不改变数组的前提下,查找最小元素的时间复杂度是:(4分)
Author: DS课程组
Organization: 浙江大学
2-4
设一棵非空完全二叉树 T 的所有叶节点均位于同一层,且每个非叶结点都有 2 个子结点。若 T 有 k 个叶结点,则 T的结点总数是:(4分)
Author: 考研真题
Organization: 浙江大学
2-5
对最小堆(小顶堆){1,3,2,12,6,4,8,15,14,9,7,5,11,13,10} 进行三次删除最小元的操作后,结果序列为:(4分)
Author: DS课程组
Organization: 浙江大学
2-6
三叉树中,度为1的结点有5个,度为2的结点3个,度为3的结点2个,问该树含有几个叶结点? (4分)
Author: DS课程组
Organization: 浙江大学
2-7
将{5, 2, 7, 3, 4, 1, 6}依次插入初始为空的二叉搜索树。则该树的后序遍历结果是:(4分)
Author: DS课程组
Organization: 浙江大学
2-8
表达式a*(b+c)-d
的后缀表达式是: (4分)
a b c d * + -
a b c + * d -
a b c * + d -
- + * a b c d
Author: DS课程组
Organization: 浙江大学
2-9
设一段文本中包含字符{a, b, c, d, e},其出现频率相应为{3, 2, 5, 1, 1}。则经过哈夫曼编码后,文本所占字节数为: (4分)
Author: DS课程组
Organization: 浙江大学
2-10
在图中自d点开始进行深度优先遍历算法可能得到的结果为: (4分)
Author: DS课程组
Organization: 浙江大学
2-11
在一个不带头结点的非空链式队列中,假设f和r分别为队头和队尾指针,则插入s所指的结点运算是( )。 (4分)
Author: 严冰
Organization: 浙江大学城市学院
2-12
在单链表中,若p
所指的结点不是最后结点,在p
之后插入s
所指结点,则执行 (4分)
s->next=p->next; p->next=s;
s->next=p; p->next=s;
s->next=p->next; p=s;
p->next=s; s->next=p;
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;
}
Author: 陈越
Organization: 浙江大学
Time Limit: 400 ms
Memory Limit: 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;
}