15-16年期中考试试卷
is .
If the postorder and inorder traversal sequences of a binary tree are the same, then none of the nodes in the tree has a right child.
The best "worst-case time complexity" for any algorithm that sorts by comparisons only must be .
If the most commonly used operations are to visit a random position and to insert and delete the last element in a linear list, then sequential storage works the fastest.
Given the input sequence onto a stack as {1, 2, 3, ..., }. If the first output is , then the -th output must be .
Given a tree of degree 4. Suppose that the numbers of nodes of degrees 2, 3 and 4 are 4, 2 and 1, respectively. Then the number of leaf nodes must be:
Suppose that an array of size m
is used to store a circular queue. If the front position is front
and the current size is size
, then the rear element must be at:
Insert {5, 2, 7, 3, 4, 1, 6} one by one into an initially empty min-heap. The preorder traversal sequence of the resulting tree is:
Among the following methods, which one's time complexity is always , no matter what the initial condition is?
Suppose that the height of a binary tree is (the height of a leaf node is defined to be 1), and it has only the nodes of degrees 0 and 2. Then the minimum and maximum possible total numbers of nodes are:
Suppose that the level-order traversal sequence of a min-heap is {1, 3, 2, 5, 4, 7, 6}. Use the linear algorithm to adjust this min-heap into a max-heap. The inorder traversal sequence of the resulting tree is:
To delete p
from a doubly linked list, we must do:
If on the 9th level of a complete binary tree (assume that the root is on the 1st level) there are 100 leaf nodes, then the maximum number of nodes of this tree must be:
The array representation of a disjoint set containing numbers 0 to 8 is given by { 1, -4, 1, 1, -3, 4, 4, 8, -2 }. Then to union the two sets which contain 6 and 8 (with union-by-size), the index of the resulting root and the value stored at the root are:
For a binary search tree, in which order of traversal that we can obtain a non-decreasing sequence?
Given input { 321, 156, 57, 46, 28, 7, 331, 33, 34, 63 }. Which one of the following is the result after the 1st run of the Least Signification Digit (LSD) radix sort?
Which one of the following relations is correct about the extra space taken by heap sort, quick sort and merge sort?
Given the pushing sequence of a stack as {1, 2, 3, 4, 5}. If the first number being popped out is 4, then the last one out must be:
The function is to increase the value of the integer key at position P
by a positive amount D
in a max-heap H
.
void IncreaseKey( int P, int D, PriorityQueue H )
{
int i, key;
key = H->Elements[P] + D;
for ( i = (3分); H->Elements[i/2] < key; i/=2 )
(3分);
H->Elements[i] = key;
}
序号 | 结果 | 测试点得分 |
---|---|---|
0 | 编译错误 | 0 |
1 | 未作答 | 0 |
You are supposed to output, in decreasing order, all the elements no greater than X
in a binary search tree T
.
Format of function:
void Print_NGT( Tree T, int X );
where Tree
is defined as the following:
typedef struct TreeNode *Tree;
struct TreeNode {
int Element;
Tree Left;
Tree Right;
};
The function is supposed to use Output(X)
to print X
.
Sample program of judge:
#include <stdio.h>
#include <stdlib.h>
typedef struct TreeNode *Tree;
struct TreeNode {
int Element;
Tree Left;
Tree Right;
};
Tree BuildTree(); /* details omitted */
void Output( int X ); /* details omitted */
void Print_NGT( Tree T, int X );
int main()
{
Tree T;
int X;
T = BuildTree();
scanf("%d", &X);
Print_NGT( T, X );
printf("End\n");
return 0;
}
/* Your function will be put here */
Sample Output 1 (for the tree shown in Figure 1):
91 90 85 81 80 55 End
Sample Output 2 (for the tree shown in Figure 2):
End
void Print_NGT( Tree T, int X ) { return; }
a.c: In function ‘BuildTree’: a.c:33:6: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &n); ^~~~~~~~~~~~~~~ a.c:35:10: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &x); ^~~~~~~~~~~~~~~ a.c: In function ‘main’: a.c:52:5: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &X); ^~~~~~~~~~~~~~~
测试点 | 结果 | 测试点得分 | 耗时 | 内存 |
---|---|---|---|---|
0 | 答案错误 | 0 | 4.00 ms | 312 KB |
1 | 答案正确 | 3 | 4.00 ms | 432 KB |
2 | 答案错误 | 0 | 4.00 ms | 336 KB |
3 | 答案正确 | 2 | 4.00 ms | 352 KB |
4 | 答案错误 | 0 | 4.00 ms | 384 KB |