1. 现在计算机中整数采用的编码方式: A. 原码 B. 反码 C. Unicode 码 D. 补码 2. 下面程序的运行结果: #include using namespace std; void test(char c, char *d) { ++c; ++*d; cout << c << *d; } int main() { char a='A', b = 'a'; test(b, &a); cout << a << b; return 0; } A. ... B. ... C. bBBa D. ... 3. 下面的说法那个正确: #define NUMA 10000000 #define NUMB 1000 int a[NUMA], b[NUMB]; void pa() { int i, j; for(i = 0; i < NUMB; ++i) for(j = 0; j < NUMA; ++j) ++a[j]; } void pb() { int i, j; for(i = 0; i < NUMA; ++i) for(j = 0; j < NUMB; ++j) ++b[j]; } A. pa 和 pb 运行的一样快 B. pa 比 pb 快 C. pb 比 pa 快 D. 无法判断 4. 10 个小球中只有一个红球,现在有放回地抽取一个小球,问至到第 n 次才取到 k 个红球 (k ≤ n) 的概率是多少 ? A. B. C. D. 5. 某指令流水线由 5 段组成,各段所需要的时间分别是:t、3t、t、2t 和 t 。问如果连续执行 10 条指令,则吞吐率是多少 ? A. 0.1428/t B. 0.2041/t C. 0.2857/t D. 0.3333/t 6. 现有两道四个选项的火星文单选题,你已经至少答对一题了,那么你两题都对的概率是多少 ? A. 1/3 B. 1/4 C. 1/7 D. 1/8 7. 以下是一个 tree 的遍历算法,queue 是一个 FIFO 队列。参考下面的 tree ,程序输出结果是神马。 queue.push(tree.root); while(true){ node = queue.pop(); output(node.value); // 输出结点对应的数字 if(null = node) break; for(child_node in node.children){ queue.push(child_node); } } 1 ______|______ | | 2 3 ___|___ ___|___ | | | | 4 5 6 7 A. 1234567 B. 1245367 C. 1376254 D. 1327654 8. 堆排序的时间复杂度是多少 ? 堆排序建堆的时间复杂度是多少 ? A. O(n2) O(n logn) B. O(n) O(nlogn) C. O(nlogn) O(n) D. O(nlogn) O(nlogn) 9. 字符串 "alibaba" 的二进制哈夫曼编码有多少位 ? A. 11 B.12 C. 13 D. 14 10. 结点按中序遍历为 xyz 的二叉树有多少种可能 ? A. 1 B.2 C.3 D.4 E. 5 11. 500 张纸牌整齐排成一排,按顺序编号 1、2、3、4、.....