对一份浪潮笔试题中涵盖知识点的刨析

近期准备去浪潮面试一波,但培训班出来的本人对于基础理论知识又有极大的欠缺,于是找到一份笔试题研究一下,不管结果如何,当做知识储备提升吧,做下记录

笔试题地址:https://wenku.baidu.com/view/734031d2eff9aef8951e064e.html

1.计算机中最适合进行数字加减运算的数字编码是:补码

对于补码的是什么,开始我是迷糊的,后来百度到https://www.cnblogs.com/guanjianzhuo/p/6017291.html这篇文章,感觉对其有了一些理解,但对于他说的负数补码还是不懂,于是又百度,得知了补码计算法定义:非负数的补码是其原码本身;负数的补码是其绝对值的原码最高位符号位不变,其它位取反,再加1。再回头来看之前文章的最后一段,茅塞顿开

比如:在二进制位数n为4时,7的原码是0111,补码是0111;

        -3的绝对值3的原码是0011, 对其取反的1100,+1的1101,故-3的补码是1101,所以-3用二进制形式为1101。

        我们来验证一下,0111+1101=10100,由于这里是4位,即抛弃多的10000即-16,得到0100,这里0100=4,计算正确

2.最适合表示浮点数阶码的数字编码是:移码

移码就是在补码基础上加上2的n次幂,通俗地讲,就是把符号位取反;移码是无符号的,都是正自然数

一般用指数的移码减去1来做浮点数阶码

3.如果主存容量为16M字节,且按字节编址,表示该主存地址至少应需要多少位

主内存容量为16MB,按字节编址,因此地址总数为16M个,而1M=2^20b,16=2^4,所以,16M=2^24b,每一个字节都要求有唯一的地址,至少要用24个二进制位才能表示16M个不同的地址,所以主存的地址应该是24位

4.中断响应时间是指:计算机接到中断信号到操作系统做出响应,并完成切换,进入中断服务程序的时间.

5.表达式a*(b+c)-d的后缀表达形式为:

这里解释一下前缀表达式,中缀表达式及后缀表达式

中缀表达式:即我们平时用到的正常运算表达式,如a*(b+c)-d

前缀表达式:指的是不包含括号,运算符放在两个运算对象的前面,所有的计算按运算符出现的顺序,严格从左向右进行

后缀表达式:指的是不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行

转换方式:

前缀:

先由正常的中缀表达式按照运算顺序加好括号,再把运算符号拿到最近的括号的前面,最后去掉括号,

如:a*(b+c)-d   --->    ((a*(b+c))-d)   --->  -(*(a+(bc))d)    ---> -*a+bcd

后缀:

与前缀相反:

如:a*(b+c)-d   --->    ((a*(b+c))-d)   --->    ((a(bc)+)*d) -   ---> abc+*d-

6.若二叉树的先序遍历序列为ABDECF,中序遍历序列DBEAFC,则其后序遍历序列为:

先来了解一下二叉树:https://baike.baidu.com/item/%E4%BA%8C%E5%8F%89%E6%A0%91/1602879?fr=aladdin

对于二叉树的先序遍历序列,中序遍历序列,后序遍历序列,我们已A,B,C来分别表示根,左子树,右子树,则

先序遍历序列:A-B-C

中序遍历序列:B-A-C

后序遍历序列:B-C-A

了解了这些之后,我们就可以来还原题干中的二叉树了,如图:

ps:画图板手动画的,凑活着看吧

根据树读取,中序数列为:DBEAFC,与题干符合,证明还原无误,那么后序即为DEBFCA

7.以比较为基础的排序算法在最坏情况下的计算时间下界为:

此问题考查以比较为基础的排序算法的时间复杂度分析,利用二元树可以证明对任何以关键字比较为基础的排序算法,最坏情况的计算时间下界都为O(nlogn),如归并排序算法。

8.若广义表L=((1,2,3)),则L的深度为2

一个表的"深度"是指表展开后所含括号的层数。

9.在TCP/IP网络中,为各种公共服务保留的端口号范围是1-1023

10.软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定:模块间的组成关系

 软件设计通常分为概要设计和详细设计。概要设计的任务是确定软件系统的结构,进行模块划分,确定每个模块的功能、接口及模块间的调用关系。设计软件系统的结构的主要目的是确定模块间的组成关系。

猜你喜欢

转载自blog.csdn.net/weixin_41722987/article/details/82625273
今日推荐