一组题

1.   关于二叉树,下面说法正确的是()

A.  对于N个节点的二叉树,其高度为nlog2n;

B.   一个具有1025个节点的二叉树,其高度范围在11~1025之间

C.  二叉树的先序遍历是EFHIGJK,中序遍历为HFIEJKG,该二叉树的右子树的根为G

D.  二叉树中至少有一个节点的度为2

分析:

A:没说是什么二叉树.故可能错,即错

B:完全二叉树的话高度10满,高度11上有2叶子;每个高度只有一个节点的话,高度1025.故选B

C:根据先序和中序,高度1->E,高度2->F G,高度3->H I J 空,高度4->空 空 空 空 空 K 空
空,右子树的根是G.故选C

D.一个节点时,该节点度为0.故错

2.   假设函数f1的时间复杂度O(n),那么f1*f1的时间复杂度为()

A.  O(n)B.   O(n*n)C.  O(n*log(n))D.  以上都不对

分析:

代码->

package Demo;

public class Test {

	static int total = 0;

	public static void main(String[] args){
		System.out.println(f(10) * f(10));
		System.out.println(total);
	}

	public static int f(int n){
		for(int i = 0; i < n; ++i)
			++total;
		return total;
	}
}

故选A

3.   对下列四种排序方法,在排序中关键字比较次数与记录初始化顺序无关的是()

A.  直接排序B.   二分法插入C.  快速排序D.  归并排序

分析:

A:直接排序,即选择排序,每次找出最小的,比较次数只与数组长度有关,故选A

B:二分法插入,二分查找是最差logn,插入n次,最差复杂度nlogn,最优n.故错

C:快速排序,最优nlogn,最差n2.故错

D:归并排序,最优nlogn,最差nlogn,但若局部有序是可以减少时间的.故错

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这个字符的哈夫曼编码位数应该最长

分析:

A:哈夫曼编码是一种大幅压缩空间的编码方式,但最少还需在具体情况的分析.故可能错,即错

B:

C:

D:哈夫曼是用较少的比特表示出现频率高的字符,用较多的比特表示出现频率低的字符.故选D

5.   判断单链表有没有环的算法中,至少需要几个指针()

A.  1 B.   2 C.  3 D.  4

分析:

这个题就是一道智力题,让一个指针每次next两次,一个指针每次next一次,

如果存在环,指针相遇,即同时访问同一地址,否则第一个指针先访问至null.

故选B

6.   在编译过程中,产生Parse  tree的过程是()

A.  语法分析 B.   语义分析阶段C.  词法分析D.  目标代码生成阶段

分析:

概念题,语法分析结果产生分析树(Parse tree)

故选A

7.   阅读下面代码,程序会打印出来的值是()

  1. #include
  2. Void f(char **p){
  3. *p += 2;
  4. }
  5. Void main() {
  6. Char *a[] = { “123”,”abc”,”456”},**p;
  7. p = a;
  8. f(p);
  9. printf(“%s\r\n”,**p);
  10. }

复制代码

A.  123  B.   abc  C.  456  D.  3

分析:

实话讲,这代码看不懂...不过可以做这种题,只要懂指针.

main里第一句,a里有俩地址

main里第二句,把俩地址的第一个地址给p,此时**p指向{"123","abc","456"}的首地址(内容"123"),*p指向"123"的首地址(内容"1").

main里第三句,把地址进俩位(内容"3")

故选D.

8.   Char p1[] = “Tencent”, void p2 = malloc((10)在32位机器上sizeof(p1)和sizeof(p2)对应的值是()

A.  8:0 B.   4:10 C.  8:4 D.  4:4

分析:

sizeof(数组), 7 + 1 = 8

sizeof(指针), 4

故选C

9.   现在有以下两个函数,调用test的结果是()

  1. Char* getMem(void) {      Char * p = “hello world ”;
  2. P[5] = 0x0;
  3. Return p;
  4. }
  5. Void test(void) {      Char *s = 0x0;
  6. s = getMem();
  7. Printf(s);
  8. }

复制代码

A.  hello B.   无输出 C.  Hello0world D.  不确定

分析:

局部变量在函数结束时会被删掉...

...不清楚...测试代码...直接崩...

故选B或D

10.  冯诺依曼体系结构计算机的基本原理是()

A信息存储  B 存储智能 C 数字控制 D 存储程序和程序控制

分析:

概念题,选D.

12.下面哪种设计模式的定义为:定义对象间的一种一对多的关系,当一个对象改变时,其他依赖于他的对象都能够得到通知并自动更新。()

A.  Visitor B.   Adapter C.  Observer D.  Interpreter

分析:

目前还没看设计模式...

13.请看一下这一段C++代码,如果编译后程序在windows下运行,则一下说话正确的是()

Char*p1 = “123456”;

Char*p2 = (char*)malloc(10);

A.  P1
he p2都存在栈中

B.   P2指向的10个字节内存在栈中

C.  堆和栈在内存中的生长方向是相反的

D.  “123456”这6个字符存储在栈中

分析:

C++不算很熟悉...

可以确定C是对的,

栈是从高到低,堆是从低到高.

故选C

14.将3个球随机放入4个杯子中,则杯子中球的最大个数为2的概率是()

A.  9/16 B. 
 3/4 C.  3/8 D.  3/16

分析:

目前做这种题无能...

15.对n个元素的数组进行快速排序,所需要的二外空间为()

A.  O(1)B.   O(n)C.  O(log(2n)D.  O(n^2))

分析:

根据算法,应该是选A.

16.下面关于编译器与解释器的观点,错误的是()

A.  解释器不产生目标程序,它直接执行源程序或者源程序的内部形式

B.   解释程序和编译程序的主要区别在于是否产生目标程序

C.  编译器对高级语言程序的处理过程划分成词法分析、语法分析、语义分析,中间代码生成、代码优化、目标代码生成几个阶段

D.  解释器参与运行控制、程序执行的速度快

分析:

D:解释器要一条一条加载执行,故执行速度慢于编译.故错,选D

17.假设系统中有5台设备,有多个进程需要使用2个设备,假定每个进程一次只能使用一台,则至多允许多少个进程来竞争这5个资源,而不会发生死锁()

A.  2 B. 
 3 C.  4 D.  5

分析:

4个,得有一个能完整完成,释放资源,才能避免死锁

故选C

18.下面哪些协议,存在源端口和目的端口是()

A.  IP B. 
 TCP C.  UDP D.  ICMP协议

分析:

概念题,选BC

19.下列哪些sql是等价的()

A.  Select A.tname ,A.depart from teacher A joincourse B on B.tno = .A.tno

B.   Select A.tname ,A.depart from teacher A whereA.tno = course.tno

C.  Select A.tname ,A.depart from teacher wheretno in (select tno from course)

D.  Select A.tname ,A.depart from teacher where exsist (select * from course B where B.tno = A.tno);

分析:

B:语法错误

D:语法错误

选AC.

20.某一磁盘请求序列(磁道号):98、 183、 37、122、14、124、 65、 61,按照先来先服务FCFS磁盘调度对磁盘进行请求服务,假设当前磁头在53道上,则磁臂总移动道数为:()

A、169         B、208        C、640         D、236

分析:

98-53  =45

183-98=85

183-37=146

122-37=85

122-14=108

124-14=110

124-65=59

65-61  =4

故选C

21.将一个C类网络划分为3个子网,每个子网最少要容纳55台主机,使用的子网掩码是:()

A、255.255.255.248   B、255.255.255.224  C、255.255.255.224  D、255.255.255. 192

分析:

D:64-2=62台,可以容纳62台,满足要求

选D.

22下列关于计算机硬件的描述,正确的是:()

A、磁盘的平均存取时间指的是磁盘的寻道时间加上磁头在某一磁道等待记录扇区的时间

B、计算机的控制器是由多种部件组成,其中包括,指令寄存器、程序计数器和算数逻辑单元

C、一台计算机的字长是32位,表明该机器能处理的数值最多为4个字节

D、系统总线可以分为数据总线、地址总线和控制总线三类

分析:

A:硬盘的平均存取时间由寻道时间和读写时间两部分构成,故错

B:控制器由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成.故错

C:...逻辑不通...故错

D:概念是对的.故选D

23、假设有关系模式R(A,B,C,D),其数据依赖集:F={(A,B)- >C,C->D},则关系模式R的规范化程度最高达到:()

A.1NF

B.2NF

C.3NF

D.BCNF

分析:

目前对这种题无能

24.以下为一段浏览器中可运行的Javascript 代码,则运行该段Javascript代码的页面弹出框中显示的结果是:()

Var obj = { “key”:”1”,”value”:2};

Var newObj = obj;

newObj.value += obj.key;

alert(obj.value);

A、2           B、12          C、3         D、21

分析:

赋值传递的是地址,故newObj和obj指向的是同一地址.

有字符时,数字会转换成字符,进行字符+,即拼接.

故选D

25.有足够量的2分、5分、1分硬币,如果想凑齐一元钱,可以有()种方法

A、541    B、270   C、1024    D、128

分析:

上代码吧.故选A.

package Demo;

public class Test {

	static int count = 0;
	int[][][] flag = new int[21][51][101];

	public static void main(String[] args){
		Test t = new Test();
		int total = 100;
		t.func(total, 0, 0, 0);
		System.out.println(count);
	}

	public void func(int total,int five,int two,int one){
		if(flag[five][two][one] == 1)
			return;
		flag[five][two][one] = 1;
		if(total == 0){
			++count;
			return;
		}
		if(total >= 1)
			func(total-1,five,two,one+1);
		if(total >= 2)
			func(total-2,five,two+1,one);
		if(total >= 5)
			func(total-5,five+1,two,one);
	}
}

26、阅读下面代码:

#defineMAX_NUM 1000+1

int Temp
= Max_NUM*10;

则Temp的值为(    )

分析:

等价于 int Temp = 1000 + 1 * 10;

故答案是1010

27.某个单CPU操作系统抢占式进程调度策略。现在有三个任务T1(优先级高),T2(优先级中),T3(优先级低)同时进入调度队列,每个任务都需要占用CPU时间10ms,10ms,13ms,然后再用CPU时间5ms,则T3从进入调度对了到完成需要()ms(不考虑系统任务调度的开销)

分析:

没找到重点...

28.在一个采用页式虚拟存储管理的系统中,有一用户作业,它依次要访问的页码序列是1,2,3,4,1,2,5,1,2,3,4,5.假定分配给该作业的页数为3且作业初始时未装载页面,那么采用FIFO调度算法产生的缺页中断数为(),采用LRU调度算法产生的缺页中断数为()

分析:

FIFO:                LRU:

1->1                1->1

1,2->2            
1,2->2

1,2,3->3          1,2,3->3

2,3,4->4         
2,3,4->4

3,4,1->5         
3,4,1->5

4,1,2->6         
4,1,2->6

1,2,5->7         
1,2,5->7

1,2,5                2,5,1

1,2,5                5,1,2

2,5,3                1,2,3->8

5,3,4                2,3,4->9

5,3,4                3,4,5->10

故填7              
故填10.

29.

  1. #include <stdio.h>
  2. class Base
  3. {
  4. public:
  5. virtual int foo(int x){return x*10;}
  6. int foo(char x[14]){return sizeof(x)+10;}
  7. };
  8. class Derived:public Base
  9. {
  10. int foo(int x){return x*20;}
  11. virtual int foo(char x[10]){return sizeof (x)+20;}
  12. };
  13. int main(void)
  14. {
  15. Derived  stDerived;
  16. Base * pstBase=& stDerived;
  17. char x[10];
  18. printf(“%d\n”,pstBase->foo(100)+pstBase->foo(x));
  19. return 0;
  20. }

复制代码

在32位环境下,以上程序的输出结果是()

分析:

形参数组传递的是指针,故sizeof(x)+10=14;

因为用的是Base指针,所以执行的是Base的函数,

但有个虚函数,所以执行了该地址的声明类的函数.

故答案是2014.

31.珠宝商甲需要去鉴定一批41克以下的宝石(可能是41克以下不包括41克的任意重量),他只能携带一个天平和四个砝码去称重,请问他会携带那些重量的砝码?

分析:

第一反应是20,10,5,2,1,1.可以测任意重量.但超过题目要求.

4个砝码,

第一个是2,测量范围是1-2

第二个是6,此时测量范围是1-8

第三个是10,此时测量范围是1-18

第四个是20,此时测量范围是1-38

但最大范围是1-39,故剩余的唯一值是39,故范围是1-39,完成要求.

32.UTF-8是现在流行的编码方式,下面是RFC2279对UTF-8编码规则的规定,根据这个规则,中文字符‘我’的unicode值为0X6211,utf-8编码之后为0XE68891。

请回答一下问题:

A)英文字符‘a’,其unicode的十六进制值为0X61,则其UTF-8编码后的十六进制值为?

B)中文字符‘腾’,其unicode的十六进制值为0X817E,则其UTF-8编码后的十六进制值为?

C)中文字符‘讯’,其unicode值经过UTF-8编码之后为0XE8AEAF,则请问其unicode的十六进制值是?

分析:

A:61<80,故答案是0x61

B:817E>800,817E<10000,故817E=1000 0001 0111 1110填在1110xxxx 10xxxxxx 10xxxxxx中,即1110 1000 1000 0101 1011 1110,答案是E885BE

C:E8AEAF = 1110 1000 1010 1110 1010 1111,1000 1011 1010 1111 = 8BAF,答案是8BAF

时间: 2024-08-18 07:40:52

一组题的相关文章

一组题(二)

1.  使用深度优先算法遍历下图,遍历的顺序为() A ABCDEFG        B ABDCFEG C ABDECFG        D  ABCDFEG 分析: 概念题,答案C 2.  输入序列ABCABC经过栈操作变成ABCCBA,下面哪些是可能的栈操作( ) A.     push pop push pop push pop push push push pop pop pop B.     push push push push push push pop pop pop pop

华为HCNP R&amp;S 认证刷题方法

51CTO学院华为HCNP 4期一名学员刷题的自述,用自己血与泪的教训,为大家总结了刷题的方法,各位看官请睁眼!!! 引言自2017年10日报名,因为报名晚,没有跟上直播课,故每天看肖哥的4期直播回放,个人感觉肖哥的课程听起来通俗易懂,给人以豁然开朗的感觉:由于4期为全程直播课,而课时仅在2小时左右,造成很多知识未能深入讲解(也可能由于行业行情HCNP并不需要这样深入),后来看题库时果然让我有种我是学渣的觉悟,里面考题所涵盖的知识多得让我怀疑人生- - .而现实一次次告诉我们考证要趁早,毕竟老司

结对变成项目总结

如下图,为我们做的判卷程序,左侧为出题区,中间为答题去,右侧为结果区 首先点击自动出题按钮,自动生成50道题目,长度随机 然后点击开始测试按钮,即进入如下界面,学生可在题目后方的输入框内答题 全部答完后,点击确认提交按钮,自动判卷 最终结果会显示在右边,例如每道题目的答案和对错数量的信息 之后点击再次测试按钮,可以继续答下10道题,总共有50道题,如果全部答完后,还想继续,可以再次点击自动出题按钮,然后可以继续测试 测试结束后,点击退出测试按钮即可退出程序. 以下为本程序的全部代码 1 // M

[JVM] - 继10进制的java.lang.Object查看之后

cmd清除命令:cls 之后查阅了其它博客,发现这位大神同样也在做JVM,并且我很希望用它的10进制转16进制类来测试一下该解析的10进制是否对应着Object的16进制呢? 这位大神的10进制转16进制代码: import java.io.BufferedReader; import java.io.File; import java.io.FileReader; public class Test { public static String txt2String(File file){ S

编程题:用一组数组做函数参数来实现,输入两个数,输出其中最大数

#include<stdio.h> float max(float x,float y) { float z; if(x>y)z=x; else z=y; return z; } void main() { float a[2],c; scanf("%f,%f",&a[0],&a[1]); c=max(a[0],a[1]); printf("%f,%f,the max is %f\n",a[0],a[1],c); } 编程题:用一组

(关于一个算法题的两点新思路)给你一组字符串 如 {5,2,3,2,4,5,1,2,1,5},让你输出里面出现次数最多且数值最大的一个,出现几次

在网上看到一个算法题,不是很难,搜一下也有解决办法,但是一般都是几层for循环,试着写了下 /** * 给你一组字符串 如 {5,2,3,2,4,5,1,2,1,5},让你输出里面出现次数最多且数值最大的一个,出现几次 * 优点:时间复杂度为O(n) * 缺点:产生一些多余的空间,如 6,7,8没有的数也会分配一个数组空间,但是基本可以忽略 * 限制:需要预先知道最大的值是多少,或者说小于多少,这样才好确定预先分配一个数组长度是多少 */ public static void method1()

#leetcode刷题之路25- k个一组翻转链表

给出一个链表,每 k 个节点一组进行翻转,并返回翻转后的链表.k 是一个正整数,它的值小于或等于链表的长度.如果节点总数不是 k 的整数倍,那么将最后剩余节点保持原有顺序. 示例 :给定这个链表:1->2->3->4->5当 k = 2 时,应当返回: 2->1->4->3->5当 k = 3 时,应当返回: 3->2->1->4->5 说明 :你的算法只能使用常数的额外空间.你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交

CSU 1112: 机器人的指令【模拟题】

1112: 机器人的指令 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 1858  Solved: 682 [Submit][Status][Web Board] Description 数轴原点有一个机器人.该机器人将执行一系列指令,你的任务是预测所有指令执行完毕之后它的位置. ·LEFT:往左移动一个单位 ·RIGHT: 往右移动一个单位 ·SAME AS i: 和第i 条执行相同的动作.输入保证i 是一个正整数,且不超过之前执行指令数 In

2015腾讯笔试大题

今天做完腾讯的在线笔试,感觉自己弱爆了,选择题部分考得比较基础,但是考的面比较广,数据结构,计算机网络,算法常识,概率题,C,C++,都有.大题如下: 在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code).请编写一个函数,使用递归方法生成N位的格雷码,并且保证这个函数的健壮性. 2. 有下图的题解,请用C/C++代码来列出满足下图0-100内的所有答案. 3. 如图所示,系统中有三个进程Producer,Transmitter和Consumer.