笔试题总结4

nux的crontab定时执行任务:
基本格式为:

*  *  *  *  *  command

分 时 日  月 周  命令

第1列表示分钟1~59 每分钟用*或者*/1表示

第2列表示小时1~23(0表示0点)

第3列表示日期1~31

第4列表示月份1~12

第5列标识号星期0~6(0表示星期天)

第6列要运行的命令


Class A;
Class B;
void F() {
        A a;
        B b;
}

在函数F中,本地变量a和b的构造函数(constructor)和析构函数(destructor)的调用顺序是:D

A.b构造 a构造 a析构 b析构

B.a构造 a析构 b构造 b析构

C.b构造 a构造 b析构 a析构

D.a构造 b构造 b析构 a析构

解释:按变量声明顺序构造对象,然后入栈
按相反顺序出栈,析构对象。


一棵有124个叶节点的完全二叉树,最多有(B)个节点。

A.247

B.248

C.249

D.250

解释:n0 = n2 + 1,于是度为2的结点个数123个
完全二叉树中度为1结点个数最多1个

因此该完全二叉树中结点最多有123+1+124=248个

最少的话就是度为1的节点是0个,共有节点247个


在排序方法中,元素比较次数与元素的初始排列无关的是(D)

A.Shell 排序

B.归并排序

C.直接插入排序

D.选择排序

解释:选择排序无视队列原来是否有序,他自己都会再排一遍,所以它的时间复杂度一直是最差的O(n2),最好情况和最差情况一样.每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法


给定如下代码: int x[4]={0}; int y[4]={1}; 数组x和y的值为(B)

A.{0,0,0,0},{1,1,1,1}

B.{0,0,0,0},{1,0,0,0}

C.{0,不确定},{1,不确定}

D.与编译器相关


如何判断一个单项链表中是否有环:

解答:
用两个指针,pSlow,pFast,就是一个慢一个快

慢的一次跳一步

快的一次跳两步

往链表末端移动。如果pFast==NULL,则说明链表没有环,如果pSlow==pFast,则说明链表存在环。


-7的二进制补码为:11111001

解释:正数的补码是自身,负数的补码是原码的高位不变,数值位取反加1


中断响应时间是指( C )。

A.从中断处理开始到中断处理结束所用的时间

B.从发出中断请求到中断处理结束所用的时间

C.从发出中断请求到进进中断处理所用的时间

D.从中断处理结束到再次中断请求的时间


在下列排序方法中,不稳定的方法有 C

A.归并排序与基数排序

B.插进排序与希尔排序

C.堆排序与快速排序

D.选择排序与冒泡排序

排序算法总结


下面的排序算法中,初始数据集的排列顺序对算法的性能无影响的是 B

A.插入排序

B.堆排序

C.冒泡排序

D.快速排序

解释:有影响就是这个排序算法最好情况和最差情况的时间复杂度不同。对于无影响,我们只要找最好情况和最差情况时间复杂度一样的算法就可以了,所以是堆排序