一、判断题
1.二叉树只能用二叉链表表示(F)
二叉树的存储结构有两种,顺序存储结构和链式存储结构
2. 装填因子是散列表的一个重要参数,它反映散列表的装满程度。(T)
装填因子越小,发生冲突的可能性越小
3. 在任何情况下,时间复杂度为O(n2) 的算法比时间复杂度为O(n*logn)的算法所花费的时间都长。(F)
太过绝对,当数据规模较小的时候,两者花费的时间相差不大
4. 在二叉排序树中,新结点总是作为树叶来插入的。(T)
在二叉排序树中,插入每一个结点都是将其作为一个叶子结点,插到二叉排序树的合适位置。插入时不需要移动元素,不涉及树的整体改动。
5. 有n个数存放在一维数组A[1..n]中,在进行顺序查找时,这n个数的排列有序或无序其平均查找长度不同。(F)
在进行顺序查找时,平均查找长度为1/2*(n+1)
所以,n不变,平均查找长度相同
6. 关键路径是AOE网中从源点到汇点的最短路径。(F)
关键路径是AOE网中从源点到汇点的最长路径
7. 通过对堆栈S操作:Push(S,1), Push(S,2), Pop(S), Push(S,3), Pop(S), Pop(S)。输出的序列为:123。(F)
堆栈:先进后出
push 12
pop 2
push 1 3
pop 3
pop 1
所以结果为2 3 1
二、单选题
1.在一个单链表中,已知s结点,若在s后插入k结点,则须执行(C ).
A.s->next=k; k->next=s;
B.k->next=s; s->next=k->next
C.k->next=s->next; s->next=k;
D.s->next=k->next; k->next=s;
先拉右手在拉左手
2. 有29个叶子的哈夫曼树的结点总数为 ( D).
A.58
B.59
C.840
D.57
叶子:29 度为2的:28 28+29=57
3. 在下列关于二叉树遍历的说法中,正确的是( A)。
A.若有一个叶子结点是二叉树中某个子树的中序遍历结果序列的最后一个结点,则它一定是该子树的前序遍历结果序列的最后一个结点
B若有一个叶子结点是二叉树中某个子树的前序遍历结果序列的最后一个结点,则它一定是该子树的中序遍历结果序列的最后一个结点
C.若有一个结点是二叉树中某个子树的中序遍历结果序列的最后一个结点,则它一定是该子树的前序遍历结果序列的最后一个结点
D.若有一个结点是二叉树中某个子树的前序遍历结果序列的最后一个结点,则它一定是该子树的中序遍历结果序列的最后一个结点
4.一棵二叉树,度为2结点数为70,度为1结点数为176,则叶子结数为(A ).
A.71
B.175
C.69
D.177
叶子=度为2+1
5. 已知序列11,18,30,40,43,59,72,76,81,92,93,则用折半查找法查找93需要进行(D )次比较.
A.4
B.5
C.2
D.3
log2(11)=3
6. 具有39个顶点的无向图至少有多少条边才能形成连通图 ( C).
A.39
B.741
C.38
D.40
7.具有35个顶点,997条边的有向图,所有顶点度的和为(C ).
A.997
B.70
C.1994
D.595
997*2=1994
8. 假设以行序为主序存储二维数组A=array[1..80,1..100],设每个数据元素占2个存储单元,基地址LOC[1,1]为7500,则LOC[75,8]的存储位置为(A ).
A.22314
B.22514
C.22516
D.22316
行序:7500+(100*74+7)*2=22314
三、填空题
1.在顺序表中,逻辑上相邻的元素,其物理位置一定 相邻。在单链表中,逻辑上相邻的元素,其物理位置不一定相邻。
2.请写出下图用普里姆算法从顶点A出发生成最小生成树每一步加入的边。
(1) AE
(2) ED
(3) DF
(4) FB
(5) DC