1.一次内存访问,SSD硬盘访问和SATA硬盘随机访问的时间分别是
A、几微秒,几毫秒,几十毫秒
B、几十纳秒,几十微秒,几十毫秒
C、几十纳秒,几十微秒,几十毫秒
D、几微秒,几十微秒,几十毫秒
分析:内存访问速度通常在50ns到80ns范围内,SSD硬盘的访问速度一般是SATA硬盘的一千多倍。
2.8进制数256,转化成7进制数是
A、356
B、336
C、338
D、346
3.某网络的IP地址空间为192.168.5.0/24,采用定长子网划分,子网掩码为255.255.255.248,则该网络的最大子网个数、每个子网内最大可分配地址个数各为
A、8, 32
B、32, 8
C、32, 6
D、8, 30
分析:248 = 11111000,因此最大子网个数为2^5=32,每个子网主机数最大为2^3-2=6。
4.以下关于链式存储结构说法错误的是
A、查找节点时链式存储比顺序存储快
B、每个节点是由数据域和指针域组成
C、比顺序存储结构的存储密度小
D、逻辑上不相邻的节点物理上可能相邻
5.假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为
A、6
B、4
C、2
D、8
6.下面函数的功能是是
<code class="hljs perl has-numbering"><span class="hljs-keyword">int</span> fun (char <span class="hljs-variable">*s</span>) { char <span class="hljs-variable">*p</span> = <span class="hljs-keyword">s</span>; <span class="hljs-keyword">while</span> (<span class="hljs-variable">*p</span>++); <span class="hljs-keyword">return</span> p - <span class="hljs-keyword">s</span> - <span class="hljs-number">1</span>; }</code><ul style="display: block;" class="pre-numbering"><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li></ul>
A、计算字符串的位(bit)数
B、复制一个字符串
C、求字符串的长度
D、求字符串存放的位置
7.判断有向图是否存在回路,利用____方法最佳
A、拓扑排序
B、求最短路径
C、求关键路径
D、广度优先遍历
8.依次读入数据元素序列{a,b,c,d,e,f,g}进栈,元素进栈或出栈顺序是未知的,下列序列中,不可能成为栈空时弹出的元素构成序列的有
A、{d,e,c,f,b,g,a}
B、{c,d,b,e,f,a,g}
C、{e,f,d,g,c,b,a}
D、{f,e,g,d,a,c,b}
9.下列有关图的遍历说法中,不正确的是
A、有向图和无向图都可以进行遍历操作
B、基本遍历算法两种:深度遍历和广度遍历
C、图的遍历必须用递归实现
D、图的遍历算法可以执行在有回路的图中
10.在16位机器上跑下列foo函数的结果是
<code class="hljs cpp has-numbering"><span class="hljs-keyword">void</span> foo () { <span class="hljs-keyword">int</span> i = <span class="hljs-number">65536</span>; <span class="hljs-built_in">cout</span> << i <<”,”; i = <span class="hljs-number">65535</span>; <span class="hljs-built_in">cout</span> << i; }</code><ul style="display: block;" class="pre-numbering"><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li></ul>
A、-1, 65535
B、0, -1
C、-1, -1
D、0, 6555
分析:16位iint的表示范围:-32768~32767
(65535)DEC = (1111 1111 1111 1111)BIN
(65536)DEC = (1 0000 0000 0000 0000)BIN
转换为补码,除最高位外其它位取反+1,补码分别为0,-1。
11.有一段年代久远的C++代码,内部逻辑复杂,现在需要利用其实现一个新的需求,假定有以下可行的方案,应当优先选择
A、修改老代码的接口,满足新的需求
B、将老代码抛弃,自己重新实现类似的逻辑
C、修改老代码的内部逻辑,满足新的需求
D、在这段代码之外写一段代码,调用该代码的一些模块,完成新功能需求
12.在5个页框上使用LRU页面替换算法,当页框初始为空时,引用序列为0、1、7、8、6、2、3、7、2、9、8、1、0、2,系统将发生____次缺页
A、13
B、12
C、11
D、8
分析:缺页为0、1、7、8、6、2、3、9、8、1、0,共11次
13.阿里巴巴有相距1500km的机房A和B,现有100GB数据需要通过一条FTP连接在100s的时间内从A传输到B。已知FTP连接建立在TCP协议之上,而TCP协议通过ACK来确认每个数据包是否正确传送。网络信号传输速度2×10^8m/s,假设机房间带宽足够高,那么A节点的发送缓冲区可以设置为最小
A、18M
B、12M
C、6M
D、24
分析:要求在100s传输100GB数据,则传输速率至少为1000MBps。数据包在缓冲区的时间是传输时间与ACK传输时间之和:
2×1500,000/(2×10^8)=0.015s
此时缓存的数据量至少是1000×0.015=15MB,缓冲区可以设置为18MB。
14.有3个节点的二叉树可能有____种
A、5
B、13
C、12
D、15
15.设某文件经内排序后得到100个初始归并段(初始顺串),若使用多路归并排序算法,且要求三趟归并完成排序,问归并路数最少为
A、8
B、7
C、6
D、5
分析:n个元素k路归并趟数为logk(n)。要使[logk(100)]=3,则k至少为5。
16.一个优化的程序可以生成一n个元素集合的所有子集,那么该程序的时间复杂度是
A、O(n!)
B、O(2^n)
C、O(n^2)
D、O(n log n)
17.快速排序在已经有序的情况下效率最差,复杂度为
A、O(n logn)
B、O(n^2)
C、O(n^1.5)
D、O(n^2 log n)
18.从一副牌(52张,不含打小怪)里抽出两张牌,其中一红一黑的概率是
A、25/51
B、1/3
C、1/2
D、26/51
分析:P = C(26, 1)×C(26, 1) / C(52, 2) =26/51。
19.有一堆石子共100枚,甲乙轮流从该堆中取石子,每次可取2、4或6枚,若取得最后的石子的玩家为赢,若甲先取,则
A、谁都无法取胜
B、乙必胜
C、甲必胜
D、不确定
分析:与多年前的花生米(一)类似的题目。等价问题是从50个石子中每次取1、2或3个。仅当石子数为4、8、12……时,如果甲先取则不一定获胜,此时应由乙先取。50不是4的倍数,若甲先取2个就一定获胜。
20.现有一完全的P2P共享协议,每次两个节点通讯后都能获取对方已经获取的全部信息,现在使得系统中每个节点都知道所有节点的文件信息,共17个节点,假设只能通过多次两个对等节点之间通讯的方式,则最少需要____次通讯
A、32
B、31
C、30
D、29