2020腾讯实习笔试真题
2020腾讯实习笔试题
1. 关于二叉树,下面说法准确的是
A. 对于N个节点的二叉树,其高度为nlog2n;
B. 一个具有1025个节点的二叉树,其高度范围在11~1025之间 C. 二叉树的先序遍历是EFHIGJK,中序遍历为HFIEJKG,该二叉树的右子树的根为G
D. 二叉树中至少有一个节点的度为2 这个题目我的思路是BC,
A二叉树不一定是满二叉树等,高度应该是范围。 D选项其中如果只有一个树根的二叉树应该是反例。
2. 假设函数f1的时间复杂度O(n),那么f1*f1的时间复杂度为 A. O(n)B. O(n*n)C. O(n*log(n))D. 以上都不对
这个题目我的思路是A,讨论后答案应该是D,因为f1的返回值不确定,如果是个数组当然复杂度就不同了。
3. 对下列四种排序方法,在排序中关键字比较次数与记录初始化顺序无关的是
A. 直接排序B. 二分法插入C. 快速排序D. 归并排序
这个答案据说是BD,我的答案是D,因为一时反应不过来什么是二分法插入。能够百度一下二分法插入,据说是考研的原题。
4. 已知一段文本有1382个字符,使用了1382个字节存储,这段文本全部是由a、b、c、d、e字符组成,a 354次,b 483次,c 227
次,d 96次,e 222次,对这5个字符使用哈夫曼编码。则以下说法准确的是?
A. 使用哈夫曼编码后,使用编码值来存储这段文本将花费最少的存储空间、
B. 使用哈夫曼编码后,a b c d e 这5个字符对应的编码值是确定的
C. 使用哈夫曼编码后,a b c d e 这5个字符对应的编码值能够有多套,但每个字符的编码位数是确定的
D. b这个字符的编码位数最短,d这个字符的哈夫曼编码位数应该最长
5. 判断单链表有没有环的算法中,至少需要几个指针 A. 1 B. 2 C. 3 D. 4
之前遇到过的一个算法题目,利用快慢的两个人在环形的跑道上跑必定会再次相遇的原理。
6. 在编译过程中,产生Parse tree的过程是
A. 语法分析 B. 语义分析阶段C. 词法分析D. 目标代码生成阶段
编译原理的基本知识。
7. 阅读下面代码,程序会打印出来的值是 #include
Void f(char **p){ *p += 2; Void main {
Char *a = { 123 , abc , 456 },**p; p = a; f(p);
printf( %s\\r\\n ,**p); A. 123 B. abc C. 456 D. 3
指针的应用,a是二维数组的首位指针,首先取值之后变成第一行的首指针,+2移动至3的位置,输出为3。
8. Char p1 = Tencent , void p2 = malloc((10)在32位机器上sizeof(p1)和sizeof(p2)对应的值是 A. 8:B. 4:1C. 8:4 D. 4:4
数组的长度和指针的长度,数组只有在传参的时候才会退化为指针。sizeof的时候针对指针实行计算。
9. 现在有以下两个函数,调用test的结果是 Char* getMem(void) { Char * p = hello world ; P[5] = 0x0; Return p;
Voidtest(void) { Char *s = 0x0; s = getMem; Printf(s);
A. hello B. 无输出 C. Hello0world D. 不确定
局部变量在函数返回的时候会删除掉,指向内容就不确定了。答案应该是D。
2020腾讯实习笔试真题



