#1580. DC1
DC1
1、如果根节点的深度记为1,则一棵恰有2011个叶节点的二叉树的深度最少是 ( ) {{ select(1) }}
- 10
- 11
- 12
- 13
2、假设字母表 {a,b,c,d,e}在字符串出现的频率分别为 10%,15%,30%,16%,29%。若使用哈夫曼编码方式对字母进行不定长的二进制编码,字母 d 的编码长度( )位。
{{ select(2) }}
- 1
- 2
- 2或3
- 3
3、如果一棵二叉树的中序遍历是 BAC,那么它的先序遍历不可能是 ( )
{{ select(3) }}
- ABC
- CBA
- ACB
- BAC
4.二叉树 T,已知其先根遍历是 1 2 4 3 5 7 6(数字为结点的编号,以下同),中根遍历是 2 4 1 5 7 3 6,则该二叉树的后根遍历是( )。
{{ select(4) }}
- 4 2 5 7 6 3 1
- 4 2 7 5 6 3 1
- 7 4 2 5 6 3 1
- 4 2 7 6 5 3 1
5.阅读程序,横线处应该填写的是( ) 问题描述:海滩上有一堆桃子,N 只猴子来分。第一只猴子把这堆桃子中的一个扔入海中,然后将剩余的桃子平均分成两份,最后这只猴子拿走了 1 份。第二只猴子来了 接着把剩下的桃子中的一个扔入海中,然后把剩余的桃子平均分成 2 份,开开心心拿 走了 1 份。第三、第四、……,第 N 只猴子都是将剩下的桃子中的一个扔入海中, 然后将剩余的桃子平均分成 2 份,并拿走其中的 1 份。最后只剩下 1 个桃子。 编写程序,输入猴子的数量 N,输出海滩上原有多少桃子。
int sum = 0, n, count[1000]={};
cin >> n;
count[n] = 1;
int i = n;
while(i >=0){
count[i-1] = __________;
i--;
}
cout << count[0];
return 0;
}
{{ select(5) }}
- count[i] * 2 + 1
- count[i] * 2
- count[i] + 1
- count[i] * 1 + 2
6、以下是斐波那契数列利用递推算法完成,请你阅读程序并完善( )
int a[1000],n;
cin>>n;
a[0]=a[1]=1;
for(int i=2;i<=n;i++) {
a[i]= __________;
}
cout<<a[n];
{{ select(6) }}
- a[i-1]+a[i+2]
- a[i]+a[i-2]
- a[i-2]+a[i-3]
- a[i-1]+a[i-2]
7.以下关于高精度算法部分程序的功能是( )。
void strtoint(string src,int des[ ]){
for(int i=0; i<src.size();i++){
des[src.size()-i]=src[i]-'0';
}
{{ select(7) }}
- 带反转的字符型转整形函数
- 不带反转的字符型转整形函数
- 字符型转整形
- 整形转字符型
- 表达式 a*(b+c)*d 的后缀表达式为( ),其中 * 和 + 是运算符。
{{ select(8) }}
- **a+bcd
- abc+*d*
- abc+d**
- *a*+bcd
9.具有6个顶点的无向图至少要有( )条边才能确保是一个连通图。 {{ select(9) }}
- 4
- 5
- 6
- 7
10.在无向图中,所有顶点的度数之和是所有边数的( )倍。
{{ select(10) }}
- 1/2
- 1
- 2
- 4