小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
习题来源于@王道微博
解析都是我自己写的,如有问题或错漏烦请评论告知。
🔑数据结构
对n个记录的文件进行快速排序,所需要的辅助存储空间大致为___(中国科学院大学2012)
A. O(1)
B. O(n)
C. O(log2n)
D. O(n^2)
答案及解析
答案:C
🔊 系统需要一个栈来实现快排的递归,如果每次分的比较均匀,则递归树的高度为log2n,故选C。
📠计算机网络
TCP报文段(Segment)中,哪个比特用于标示该TCP报文段是用来释放一个连接___(北京邮电大学2011)
A. ACK
B. FIN
C. SYN
D. RST
答案及解析
答案:B
🔊 记住缩写原本的英文,就能通过意思判断出作用了:
-
FIN-Finish,发送完毕后释放连接,故选B。
-
ACK-acknowledgement,确认位。
-
SYN-synchronization,同步位,用于请求连接或接受连接。
-
RST-Reset,复位位,TCP连接出现严重差错时,释放并重新建立连接。
-
URG-urgency,紧急位。
-
PSH-push,推送位,表示不用等缓存填满,尽快交付。
🏆计算机组成原理
在定点二进制运算器中,减法运算一般通过___(北京科技大学2014)
A. 原码运算的二进制减法器
B. 补码运算的二进制减法运算器
C. 补码运算的十进制加法运算器
D. 补码运算的二进制加法运算器
答案及解析
答案:D
🔊 常识:当计算机求两个数的加减法运算时,两个正数相加可以计算,但当两个正数相减时,只能比较绝对值的大小,然后大数减去小数,计算出结果后,却不知道是正的还是负的,于是补码应运而生。
补码可以联想日常生活中的钟表,比如现在10点钟了,你想调到7点钟要怎么调?逆时针或者顺时针都可以吧。所以: 可以变成 ,就很容易计算了。
💻操作系统
有5个记录A,B,C,D,E,存放在某磁盘的某磁道上,假定这个磁道划分成5块,每块存放一个记录。若磁盘旋转一周需要20ms,处理程序每读出一个记录后要花费6ms进行处理。处理程序处理数据时,磁盘照常旋转。按照___顺序存放这5个记录,可以使按照A,B,C,D,E顺序处理这些记录的时间最少。(北京航空航天大学2015)
A. "ABCED"
B. "ACEBD"
C. "ADECB"
D. "AEBCD"
答案及解析
答案:B
🔊 五块旋转一周20ms,读一个块4ms,处理一个块6ms,总共10ms。
需要按照ABCDE的顺序读出,故第一个为A,处理完A后,已经转到了第三个块中间,所以第四个块是B,直接选B。