1、Suppose that a selection sort of 80 items has completed 32 iterations of the main loop. How many items are now guaranteed to be in their final spot (never to be moved again)?
A、16 B、31 C、32 D、39 E、40
2、Which synchronization mechanism(s) is/are used to avoid race conditions among processes/threads in operating system?
A、Mutex B、Mailbox C、Semaphore D、Local procedure call
3、There is a sequence of n numbers 1,2,3,...,n and a stack which can keep m numbers at most. Push the n numbers into the stack following the sequence and pop out randomly . Suppose n is 2 and m is 3,the output sequence may be 1,2 or 2,1,so we get 2 different sequences . Suppose n is 7,and m is 5,please choose the output sequence of the stack.
A、1,2,3,4,5,6,7
B、7,6,5,4,3,2,1
C、5,6,4,3,7,2,1
D、1,7,6,5,4,3,2
E、3,2,1,7,5,6,4
4、Which is the result of binary number 01011001 after multiplying by 0111001 and adding 1101110?
A、0001010000111111
B、0101011101110011
C、0011010000110101
轉(zhuǎn)化為10進(jìn)制操作以后,再轉(zhuǎn)化為二進(jìn)制就可以了。
5、What is output if you compile and execute the following c code?
[cpp] view plaincopyprint?void main()
{
int i = 11;
int const *p = &i;
p++;
printf("%d",*p);
}
void main()
{
int i = 11;
int const *p = &i;
p++;
printf("%d",*p);
}A、11
B、12
C、Garbage value
D、Compile error
E、None of above
6、Which of following C++ code is correct ? C
A、
[cpp] view plaincopyprint?int f()
{
int *a = new int(3);
return *a;
}
int f()
{
int *a = new int(3);
return *a;
}B、[cpp] view plaincopyprint?int *f()
{
int a[3] = {1,2,3};
return a;
}
int *f()
{
int a[3] = {1,2,3};
return a;
}C、[cpp] view plaincopyprint?vector f()
{
vector v(3);
return v;
}
vector f()
{
vector v(3);
return v;
}D、[cpp] view plaincopyprint?void f(int *ret)
{
int a[3] = {1,2,3};
ret = a;
return ;
}
void f(int *ret)
{
int a[3] = {1,2,3};
ret = a;
return ;
}E、None of above
7、Given that the 180-degree rotated image of a 5-digit number is another 5-digit number and the difference between the numbers is 78633, what is the original 5-digit number?
A、60918 B、91086 C、18609 D、10968 E、86901
8、Which of the following statements are true
A、We can create a binary tree from given inorder and preorder traversal sequences.
B、We can create a binary tree from given preorder and postorder traversal sequences.
C、For an almost sorted array,Insertion sort can be more effective than Quciksort.
D、Suppose T(n) is the runtime of resolving a problem with n elements, T(n)=O(1) if n=1;
T(n)=2*T(n/2)+O(n) if n>1; so T(n) is O(nlgn)
E、None of above
9、Which of the following statements are true?
A、Insertion sort and bubble sort are not efficient for large data sets.
B、Qucik sort makes O(n^2) comparisons in the worst case.
C、There is an array :7,6,5,4,3,2,1. If using selection sort (ascending),the number of swap operations is 6
D、Heap sort uses two heap operations:insertion and root deletion (插入、堆調(diào)整)
E、None of above
10、Assume both x and y are integers,which one of the followings returns the minimum of the two integers?
A、y^((x^y) & -(x
B、y^(x^y)
C、x^(x^y)
D、(x^y)^(y^x)
E、None of above
x
11、The Orchid Pavilion(蘭亭集序) is well known as the top of “行書(shū)”in history of Chinese literature. The most fascinating sentence is "Well I know it is a lie to say that life and death is the same thing, and that longevity and early death make no difference Alas!"(固知一死生為虛誕,齊彭殤為妄作).By counting the characters of the whole content (in Chinese version),the result should be 391(including punctuation). For these characters written to a text file,please select the possible file size without any data corrupt.
A、782 bytes in UTF-16 encoding
B、784 bytes in UTF-16 encoding
C、1173 bytes in UTF-8 encoding
D、1176 bytes in UTF-8 encoding
E、None of above
12、Fill the blanks inside class definition
[cpp] view plaincopyprint?class Test
{
public:
____ int a;
____ int b;
public:
Test::Test(int _a , int _b) : a( _a )
{
b = _b;
}
};
int Test::b;
int main(void)
{
Test t1(0 , 0) , t2(1 , 1);
t1.b = 10;
t2.b = 20;
printf("%u %u %u %u",t1.a , t1.b , t2.a , t2.b);
return 0;
}
class Test
{
public:
____ int a;
____ int b;
public:
Test::Test(int _a , int _b) : a( _a )
{
b = _b;
}
};
int Test::b;
int main(void)
{
Test t1(0 , 0) , t2(1 , 1);
t1.b = 10;
t2.b = 20;
printf("%u %u %u %u",t1.a , t1.b , t2.a , t2.b);
return 0;
} Running result : 0 20 1 20
A、static/const
B、const/static
C、--/static
D、conststatic/static
E、None of above
13、A 3-order B-tree has 2047 key words,what is the maximum height of the tree?
A、11 B、12 C、13 D、14
解析:m階B-樹(shù)的根節(jié)點(diǎn)至少有兩棵子樹(shù),其他除根之外的所有非終端節(jié)點(diǎn)至少含有m/2(向上取整)棵子樹(shù),即至少含有m/2-1個(gè)關(guān)鍵字。根據(jù)題意,3階的B-樹(shù)若想要達(dá)到最大的高度,那么每個(gè)節(jié)點(diǎn)含有一個(gè)關(guān)鍵字,即每個(gè)節(jié)點(diǎn)含有2棵子樹(shù),也就是所謂的完全二叉樹(shù)了,這樣達(dá)到的高度是最大的。即含有2047個(gè)關(guān)鍵字的完全二叉樹(shù)的高度是多少,這也是為什么這種題只出3階的原因吧,就是為了轉(zhuǎn)化成求完全二叉樹(shù)的深度。很明顯求得高度是11,但是由于B-樹(shù)還有一層所謂的葉子節(jié)點(diǎn),可以看作是外部結(jié)點(diǎn)或查找失敗的結(jié)點(diǎn),實(shí)際上這些結(jié)點(diǎn)不存在的,指向這些結(jié)點(diǎn)的指針為空。所以不考慮葉子節(jié)點(diǎn)信息的時(shí)候,最大高度是11,考慮葉子節(jié)點(diǎn)信息的時(shí)候,最大高度就是12了。
14、In C++,which of the following keyword(s)can be used on both a variable and a function?
A、static B、virtual C、extern D、inline E、const
15、What is the result of the following program?
[cpp] view plaincopyprint?char *f(char *str , char ch)
{
char *it1 = str;
char *it2 = str;
while(*it2 != '\0')
{
while(*it2 == ch)
{
it2++;
}
*it1++ = *it2++;
}
return str;
}
int main(void)
{