nowcoder刷题错题总结(2)

01.设一组初始关键字记录关键字为(20,15,14,18,21,36,40,10),则以20为基准记录的一趟快速排序结束后的结果为( )。
nowcoder刷题错题总结(2)_第1张图片
解析:

20,15,14,18,21,36,40,10
从两头往中间搜索,右边找小,左边找大,右边先走
第一步:右边找到了10,左边找到了20,交换
第二步:在上面的位置上,右边继续向前,遇到了上一步的10,左右相遇,所以10的位置就是20的基准位,结束快速排序详见
http://developer.51cto.com/art/201403/430986.htm

1)设置两个变量i、j,排序开始的时候:i=0,j=7;
2)以20作为关键数据,赋值给key,即key=20;
3)从7开始向前搜索,即由后开始向前搜索(j--),找到第一个小于key的值10,将10和20互换;{10,15,14,18,21,36,40,20}
4)从0开始向后搜索,即由前开始向后搜索(i++),找到第一个大于key的21,将20和21互换;{10,15,14,18,20,36,40,21}
5)重复第3,4步中没有找到符合条件的值,使得j=j-1,i=i+1,直至i==j,结束。

02.在这里插入图片描述
nowcoder刷题错题总结(2)_第2张图片
解析:

*pa=a,pa是指针,指向是a[0],
pa++,后加加,先是(*pa)*=3;等价于a[0]=3,后指针后移,pa指向a[1];

03.所有软件过程包括的四个基本活动是( )
nowcoder刷题错题总结(2)_第3张图片
解析:

软件的开发过程,也可以说是软件生命周期。
主要包括四个基本活动:描述、开发、确认、演进。

04.强连通图的各顶点间均可达。( )
nowcoder刷题错题总结(2)_第4张图片
解析:

连通性:在一个无向图中,从每个定点到每个其他顶点都存在一条路径
强连通:具有连通性的有向图
弱连通:一个有向图不是强连通图,但它的基础图是连通的
完全图:每一对顶点间都存在一条边的图

05.在软件测试中,白盒测试方法是通过分析程序的()来设计测试用例的方法。
nowcoder刷题错题总结(2)_第5张图片
解析:

 白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。
 白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,
你清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构、
对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检
查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。

06.已知某二叉树的后序遍历序列是dabec,中序遍历序列是deabc,它的前序遍历序列是什么?
nowcoder刷题错题总结(2)_第6张图片
解析:

 由后序序列和中序序列可以唯一确定一棵二叉树,这是由两种遍历序列的特点所决定的。
后序序列的最后一个节点是根节点,中序序列中根节点将序列分为左右子树的中序序列;
在后序序列中找到左右子树的序列,其最后一个节点是左右子树的根节点,如此递归就能确定整个二叉树的形态。
其算法实现步骤如下:
1)根据后序序列确定树的根节点
2)根据根节点在中序序列中划分出二叉树的左、右子树包含哪些节点。然后根据左右子树节点在后序序列中的次序可以确定子树的根节点,即回到步骤 1.
3)如此重复上述步骤,知道每棵子树仅有一个节点为止,如下图所示。

nowcoder刷题错题总结(2)_第7张图片
从而可以得到其前序遍历序列为 cedba

07.采用计数排序算法对数组A = {1,0,3,1,0,1,1}进行排序,则辅助数组C的长度值为( )
nowcoder刷题错题总结(2)_第8张图片
解析:

计数排序辅助数组的长度为max-min+1,max和min为待排序序列的最大值和最小值,故C的长度为:3-0+1=4
计数排序是特殊的桶排序,每个桶的长度为1。所以辅助数组的长度为(max-min)/1+1

08.下列数据结构具有记忆功能的是?
nowcoder刷题错题总结(2)_第9张图片
解析:

 栈的特点是FILO,后进栈的先出栈,所以你对一个栈进行出栈操作,出来的元素肯定是
你最后存入栈中的元素,所以栈有记忆功能。
 而队列是先进先出,你取队列的第一个元素,得到的是你最先存入队列的元素,而不是
上一个存入队列的元素,所以没有记忆功能

09.求最小生成树的普里姆(Prim)算法中边上的权可正可负。 ()
nowcoder刷题错题总结(2)_第10张图片
解析:

普里姆算法是允许负数的。
狄杰斯特拉算法不支持的

10.下列I/O组织方式中,主存与外设的数据交换完全是通过CPU执行程序控制完成的是()
nowcoder刷题错题总结(2)_第11张图片
解析:

程序查询方式:cpu完全介入。主机查询外设的某些状态位,若外设准备就绪,则执行一次IO操作;若外设未准备就绪,主机将再次查询。
中断:需要CPU介入。设备控制器发出中断信号,操作系统开始逐个字节从缓冲区读入内存。在数据读入IO设备的缓冲区,发出中断前,CPU可以做其他事。 
DMA:内存和IO设备直接进行数据交换,不需要CPU干涉。但CPU在传输开始和传输结束介入。 
通道:能执行有限通道指令的IO控制器,代替CPU控制外设。

你可能感兴趣的:(nowcoder刷题)