- 钟柯哲哲 的博客
钟柯哲哲8.15总结
- @ 2024-8-15 17:11:40
Aug.Day09 8.15总结
【初赛复习进行中】
一、单项选择题
Wrong Problems:
1.以下不属于面向对象程序设计语言的是( )。
A. C++
B. Python
C. Java
D. C (正确)
分析:
面向对象程序设计语言:
JavaScript, C++, Java, Python, Swift, Go, C#。面向过程程序设计语言:
C, Pascal。
错误原因:没有牢固掌握面向对象和过程语言的例子 绝对不是想成了编译性和解释性语言。
4.以比较作为基本运算,在 个数中找出最大数,最坏情况下所需要的最少的比较次数为( )。
A.
B.
C. (正确)
D.
分析:
一棵树如果有 个节点,那么这棵树只能有 条边。
所以共有 条边,那么则需要减去 条边。
错误原因:粗心大意,想的是 D, 写的是 C。
8.如果一棵二叉树只有根节点,那么这棵二叉树高度为 。请问高度为 的完全二叉树有( )种不同的形态?
A. (正确)
B.
C.
D.
分析:
满二叉树:指除叶子结点外,每个节点都有两个子节点的二叉树。
完全二叉树:指一棵满二叉树,从右至左只有最后一层的节点缺失且没有中断。也就是对于一棵深度为 的满二叉树(根节点深度为 ),如果最后一层在最右边缺失了 个, 个, 个...... 个节点,就是深度为 的完全二叉树。而本题要求深度为 ,那么总数则是 种可能性。
错误原因:没有想到满二叉树也是完全二叉树。
10. 个数,两个人组一队,总共组成三队,不区分队伍的编号。不同的组队情况有( )种。
A.
B. (正确)
C.
D.
分析:
排列组合问题。
排列:在 个数中选 个,区分顺序,记作 ,。
组合:在 个数中选 个,不区分顺序,记作 ,。
本题要求在 个人中分出 组,那么第 组就是在 个人中选 个人,为 ,第二组是在 个人中选 个人,为 ,剩下在 人中选 人就没得选。但是这里考虑了组别的情况,所以还要去掉组别,也就是 ,最终答案为 $C^2_6 \times C^2_4 \div A^3_3=15 \times 6 \div 6=15$ 种。
错误原因:对排列组合掌握不扎实,基本都忘记公式了。
11.在数据压缩编码中的哈夫曼编码方法,在本质上是一种( )的策略。
A. 枚举
B. 贪心 (正确)
C. 递归
D. 动态规划
分析:
哈夫曼树是每次挑出权重最小的两个点建树,建好后将两个数的和放回去供下次再取,所以很明显,是贪心。
错误原因:没有复习 都忘记哈夫曼树是什么了直到看讲义才想起来。
12.由 这五个数字组成不同的三位数有( )种。
A. (正确)
B.
C.
D.
分析:
暴力枚举即可。
错误原因:没有好好枚举或是写出公式,去做后面的去了 一定要细心惹qwq。
14. 以 为起点,对右边的图进行深度优先遍历,则 、、、 四个点中有可能作为最后一个遍历到的点的个数为( )。
A.
B. (正确)
C.
D.
分析:
深度优先遍历是一条路走到黑。
如果开始往左边走,那么路径是 ,结束点为 。往右边走则是 ,结束点为 ,两种可能,选 B。
错误原因:没有理清深度优先遍历的遍历顺序,导致以为 也有可能。
15.有四个人要从 点坐一条船过河到 点,船一开始在 点。该船一次最多可坐两个人。已知这四个人中每个独自坐船的过河时间分别为 ,且两个人坐船的过河时间为两人独自过河时间的较大者。则最短( )时间可以让四个人都过河到 点(包括从 点把船开回 点的时间)。
A.
B. (正确)
C.
D.
分析:
本题是一道思维题,正确答案是 ,过程如下:
1:
都在点 。
2:
去往点 ,总用时 。
3:
回来,总用时 。
4:
过去,总用时 。
5:
回来,总用时 。
6:
过去,总用时 ,所有人都在点 ,且是最优方案。
错误原因:没有想到中途可以换人回来,认为最少是 时间。