标签:
本答案是我自己搜索资料解答出来,如果不对敬请指出
1、 使用深度优先算法遍历下图,遍历的顺序为(C)
A ABCDEFG B ABDCFEG
C ABDECFG D ABCDFEG
解析:
深度优先遍历类似于树的前序遍历,其基本思想为:
(1).访问顶点v;
(2).从v的未被访问的邻接点中选取一个顶点w,从w出发进行深度优先遍历;
(3).重复以上两步;
选C
2. 输入序列ABCABC经过栈操作变成ABCCBA,下面哪些是可能的栈操作( AD)
A. push pop push pop push pop pushpush push pop pop pop
B. push push push push push push poppop pop pop pop pop
C. push push push pop pop pop pushpush pop pop push pop
D. push push push push pop pushpop push pop pop pop pop
解析:栈的特点是先进后出,
B得到的结果:CBACBA,
C得到的结果:CBABAC
下列关键码序列哪些是一个堆( A,D)
A. 90 31 53 23 16 48 B 90 48 31 53 16 23
C 16 53 23 90 3148 D.1631 23 90 53 48
解析:
堆的性质,符合最大堆或者最小堆都行,如果大堆的话所有父节点都必须大于或等于其对应的子节点, 如果小堆的话,所有父节点都必须小于或等于其对应的子节点。
堆是一棵完全二叉树,从上到下画好,进行对比就可以得到答案。
B选项48的左子节点为53,而该堆为大堆,违反其父节点都必须大于或等于其对应的子节点性质
C选项:53右子节点为31,而该堆为小堆,违反其父节点都必须小于或等于其对应的子节点性质
稀疏矩阵压缩的存储方法是:(A,D)
A 三元组 B 二维数组 C 散列 D 十字链表
解析:
稀疏矩阵常用表示方法有:三元组,带辅助行向量的二元组,十字链表。
B选项:二维数组经常用来存储稠密矩阵;
C选项:散列是能一种快速实现访问的存储方式。通常作为检索部分的数据项是整形或者字符串。
二叉树的后序排列DBEFCA,中序排列DBAECF,那么对其做先序线索化二叉树,节点E的线索化指向节点(D)
A BC B AC C DF D CF
解析:
首先根据后序遍历和中序遍历画出该二叉树
然后先序线索化二叉树,也就是先序遍历该二叉树,只不过在遍历的时候每个节点要记录前继和后继(也就是在遍历该节点之前遍历了哪个节点,之后应该遍历哪个节点),E节点的前继是C,后继是F,所以答案选D
Linux命令是哪些(ABD)
A ls B mkdir Cmagnify D man
解析:
ls命令显示当前目录的内容
mkdir命令创建新的文件夹
man命令查看一些不熟悉的命令的使用方法,还可以用来查询系统库文件
C不是linux的命令,是dos下的命令
Unix系统中,适合任意两个进程通信的是(ACD)
A FIFO B PIPE C Message Queue D sharememory
解析:
现在unix使用的进程间通信方式包括:管道(PIPE)和有名管道(FIFO),信号(signal),消息队列(Message Queue),共享内存(sharememory),信号量,套接字(socket)
但是PIPE是匿名管道,匿名管道只能在父子进程中进行通信,不能在任意两个进程中通信。
故选ACD。
Windows系统中,不适合进程通讯的是(A)
A 临界区 B 互斥量 C 信号量 D 事件
解析:
这四个选项都是线程同步的实现方法,但互斥量、信号量、事件都可以被跨越进程使用来进行同步数据操作,而临界区只能在进程内部各线程间使用,故选A
下面的内存管理模式中,会产生外零头的是(BD)
A 页式 B段式C 请求页式 D 请求段式
解析:
内零头是指进程在向操作系统请求内存分配时,系统满足了进程所需要的内存需求后,还额外还多分了一些内存给该进程,外零头是指内存中存在着一些空闲的内存区域,
A选项属于内零头,C选项也属于内零头,所以选BD
Linux执行ls,会引起哪些系统调用(BCD)
A nmap B read C execve D fork
解析:
shell命令执行机制是 fork+exec
execve在父进程中fork一个子进程,在子进程中调用exec函数启动新的程序。exec函数一共有六个,其中execve为内核级系统调用,其他(execl,execle,execlp,execv,execvp)都是调用execve的库函数,而当输入ls命令的时候,命令将每个由 Directory 参数指定的目录或者每个由 File 参数指定的名称写到标准输出,以及您所要求的和标志一起的其它信息,所以系统需要自动调用read函数。而A选项nmap最早是Linux下的网络扫描和嗅探工具包,故选BCD。
13 输出以下结果:(B)
#define add(a,b) a+b;
Intmain()
{
Printf(“”,3*add(4,7));
}
A 33 B 19 C 25 D 49
解析:
此题容易误选A选项,注意宏替换只是简单的替换,3*add(4,7)会被替换成3*4+7,而不是3*(4+7),如果要达到3*(4+7)的效果应该#define add(a,b) (a+b);
14 对于以下代码,char * p= new char[100] (C)
A p 和 new出来的内存都在栈上
B p 和 new出来的内存都在堆上
C p在栈上 new出来的在堆上
D p在堆上 new出来的在栈上
解析:
new char[100]属于动态分配内存,在堆里面
p属于静态分配内存,在栈里面
char * p= new char[100]的意思是在栈内存中存放了一个指向一块堆内存的指针 p。在程序会先确定在堆中分配内存的大小,然后调用 operator new 分配内存,然后返回这块内存的首地址,放入栈中
15 进程A读取B进程中的某个变量(非共享内存),可行的方式(AC)
A 进程向消息队列写入一个包含变量内容的消息,B进程从队列中读出
B 通过本地环路通信
C 如果A、B 非亲属,那么A通过命名管道把这个变量的地址发给B进程
D 如果 B是A 进程,那么B直接读取变量内容即可
解析:
进程间通信方式:管道(PIPE)和有名管道(FIFO),信号(signal),消息队列(Message Queue),共享内存(sharememory),信号量,套接字(socket)
B选项本地环路通信属于网络中通信方式,D选项不能直接读取变量内容,可以通过管道方式进行父亲和儿子通信。
16 使用 send发送大量小的数据包,说法正确的是(ABCD)
A 带宽利用率低 B 网卡吞吐很高 C 网卡中断频繁 D 进程上下文切换频繁
解析:
当使用TCP传输小型数据包时,程序的设计是相当重要的。如果在设计方案中不对TCP数据包的延迟应答,Nagle算法,Winsock缓冲作用引起重视,将会严重影响程序的性能,如果数据片段不需要紧急传输的话,应用程序应该将他们拼接成更大的数据块,再调用Send。
直接调用send的话会出现ABCD几种问题
17 TCP的握手与分手 可能出现的情形是(ABD)
A 握手需要3次通信
B 分手需要进行4次通信
C Fin和ACK 在同一包里
D ACK 和SYN 在同一包里
解析:
考察TCP的三次握手和四次分手
TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接,由于TCP连接是全双工的,因此每个方向都必须单独进行关闭,关闭需要四次,AB对
服务端的LISTEN状态下的SOCKET当收到SYN报文的建连请求后,它可以把ACK和SYN(ACK起应答作用,而SYN起同步作用)放在一个报文里来发送。但关闭连接时,当收到对方的FIN报文通知时,它仅仅表示对方没有数据发送给你了;但未必你所有的数据都全部发送给对方了,所以你可以未必会马上会关闭SOCKET,也即你可能还需要发送一些数据给对方之后,再发送FIN报文给对方来表示你同意现在可以关闭连接了,所以它这里的ACK报文和FIN报文多数情况下都是分开发送的,C错,D对,因此答案选ABD
和16题 一样。。。。。。
新窗口打开网页,以下哪个(B)
A _self B _blank C _top D _parent
解析:
要想页面上所有的链接都在新窗口中打开,在页面中加入:
_blank是最常见的链接方式,表示超链接的目标地址在新建窗口中打开。
故答案选B
20.二进制数01011011转化为十进制为(B)
A 103 B 91 C 171 D 71
解析:
从右向左转换:2^0+2^1+2^3+2^4+2^6 = 91;
21 版本控制软件是哪些(BC)
A bugzilla B subversion C Git D loadrunner
解析:
Loadrunner: 压力测试工具
bugzilla :追踪系统的软件,专门为Unix而定制
故选BC
22 Select A,B from Table1 where A between60 and 100 order by B,下面哪些优化sql性能(C)
A 字段A 建立hash索引,字段B btree索引
B 字段A 建立hash索引,字段B不建立索引
C字段A 建立btree索引,字段B不建立索引
D 字段A 不建立 索引,字段B建立btree索引
解析:
哈希索引固然效率高,但不能基于范围
数据库内部采用的是B-Tree结构方便查询一个区间段的值,适合进行区间索引
选C
23 数据索引的正确是(ABD)
A 1个表只能有一个聚族索引,多个非聚族索引
B 字符串模糊查询不适合索引
C 哈希索引有利于查询字段用于大小范围的比较查询
D 多余的索引字段会降低性能
解析:
哈希索引固然效率高,但不能基于范围,C错
24 CPU与外设的传输数据的方式是(ABCD)
A 程序方式 B中断 C DMA D 通道方式
解析:CPU与外设之间数据传送都是通过内存实现的,外围设备和内存之间的常用数据传送控制方式有四种
(1)程序直接控制方式:就是由用户进程直接控制内存或CPU和外围设备之间的信息传送。这种方式控制者都是用户进程。
(2)中断控制方式:被用来控制外围设备和内存与CPU之间的数据传送。这种方式要求CPU与设备(或控制器)之间有相应的中断请求线,而且在设备控制器的控制状态寄存器的相应的中断允许位
(3)DMA方式:又称直接存取方式。其基本思想是在外围设备和内存之间开辟直接的数据交换通道。
(4)通道方式:与DMA方式相类似,也是一种以内存为中心,实现设备和内存直接交换数据的控制方式。与之不同的是,在DMA方
故ABCD都对
25 式子7*15=133成立,则用的是几进制(C)
A 6 B 7 C 8 D 9
解析:
若是6进制或者7进制的话不可能存在数字7,排除A,B
D带进去算不对
若是8进制,15用十进制表示就是13,7*13 = 91,133用十进制表示的话是91,故选C
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/u013445530/article/details/47204829