初赛模拟题

单项选择题(共 15 题,每题 2 分,共计 30 分;每题有且仅有一个正确选项)

第1题

在 C++ 中,下面哪个关键字用于声明一个局部变量,使其在整个程序运行期间都保持有效( )

A. unsigned B. const C. static D. mutable

第2题

十六进制数 3C4D9876 的和为( )

A. D4C3 B. D3C4 C. D4C4 D. D3C3

第3题

以下不属于面向对象程序设计语言的是( ) A. C++ B. Python C. Java D. C

第4题

阅读以下代码,说法正确的选项是( )

A.这段代码不能正常运行。 B. ManyData 类可⽤于构造队列(Queue)数据结构。 C.在上⾯代码环境,代码 cout<< myData.__data[0] << endl; 可以增加到代码 main 函数末尾( return 0; 之前),且不会导致报错。 D.可以为 ManyData 类的 push() 、 pop() 函数增加异常处理代码,否则在使用 ManyData 类时可能导致运⾏时错误或逻辑错误(不⼀定局限于上述代码中的main 函数)。

第5题

某内容仅会出现 ABCDEFG ,其对应的出现概率为 0.40、0.30、0.15、0.05、0.04、0.03、0.03。按照哈夫曼编码规则,假设 B 的编码为 11 ,则 D 的编码为( ) A. 10010 B. 10011 C. 10111 D. 10001

第6题

根节点高度为1的,拥有20个节点的二叉树,最多有多少叶子节点( )

A. 10 B. 12 C. 13 D. 15

第7题

N 个节点的双向循环链,在其中查找某个节点的平均时间复杂度是( ) A. 0(1) B. 0(N) C. 0(log N) D. 0(N*N)

第8题

G 是⼀个⾮连通⽆向图,共有 28 条边,则该图⾄少有( )个顶点 A. 6 B. 7 C. 8 D. 9

第9题

某⼆叉树T的先序遍历序列为: {A B D F C E G H} ,中序遍历序列为: {B F D A G E H C} ,则下列 说法中正确的是( ) A. T的度为1 B. T的⾼为4 C. T有4个叶节点 D. 以上说法都不对

第10题

图的⼴度优先搜索中既要维护⼀个标志数组标志已访问的图的结点,还需哪种结构存放结点以实现遍历( ) A. 双向栈 B. 队列 C. 哈希表 D. 堆

第11题

给定⼀个简单有向图 G ,判断其中是否存在环路的下列说法哪个最准确 ( ) A. BFS更快 B. DFS更快 C. BFS和DFS⼀样快 D. 不确定

第12题

⼩杨要从A城到B城,⼜想顺路游览⼀番。他有两个选项:1、坐⾼铁路到C城游览,再坐⾼铁或飞机到B城; 2、坐船到D城游览,再坐船、⾼铁或飞机到B城。请问⼩杨从A城到B城共有⼏种交通⽅案可以选择 ( ) A. 2 B. 3 C. 5 D. 6

第13题

以下哪个函数声明是符合语法的,且在调⽤时可以将⼆维数组的名字作为实际参数传递给形式参数 a ( ) A. void QuickSort(int a[][10], int n); B. void QuickSort(int a[5][], int m); C. void QuickSort(int a[][], int n, int m); D. void QuickSort(int ** a, int n, int m);

第14题

以下关于⼆叉排序树的说法,正确的是 ( ) A. ⼆叉排序树的中序遍历序列⼀定是有序的。 B. 在含 n 个节点的⼆叉排序树中查找元素,最差情况的时间复杂度为 。 C. ⼆叉排序树⼀定是⼆叉平衡树。 D. 以上说法都不对。

第15题

下⾯有关C++类的说法,错误的是( ) A. C++类对象销毁时,会执⾏析构函数。 B. C++类可以通过定义构造函数实现⾃动类型转换。 C. C++类可以通过重载 [] 运算符实现通过给定下标访问数组成员的元素。 D. C++类可以包含任意类型的成员变量

阅读程序(程序输入不超过数组或字符串定义的范围;判断题正确填✔,错误填✖;除特殊说明外,判断题1.5分,选择题3分,共计40分)

第16题

第17题

第18题

  1.  

完善程序(单选题,每小题3分,共计30分)

第19题

  1. 给定一个已旋转的有序数组 nums,请找到数组中的最小元素。数组中的元素原本是递增排序的,但在某个未知的节点上被旋转了若干次。

第20题

  1. (最长公共子序列)给定两个字符串 str1str2,求这两个字符串的最长公共子序列的长度。