🎉 数据结构

将两个长度分别为len1和len2的升序链表,合并为一个长度为len1+len2的降序列表,釆用归并算法,在最坏情况下,比较操作的次数与___最接近。(中国科学院大学 2015年)

A. lenl+len2
C. min(lenl, len2)
B. Lenl*len2
D. Max(lenl, len2)

解析

答案:A

📢 对于归并算法而言包括两种情况:

  1. 两个链表还有剩下的元素时,则取两个链表中的最大值放入新链表中
  2. 一个无剩余元素,另一个有剩余元素时,直接将另一个链表直接放入新链表中

好久没写代码,写个伪代码给你们康康😎

void merge_list(LinkList &la, LinkList &lb) {
    LNode *cur, *pa = la->next, *pb = lb->next;
    la->next = NULL; 	// la为合并后的链表
    
    while (pa && pb) {
        if (pa->data <= pb->data) {
            cur = pa->next;		// 记录位置
            pa->next = la->next;	// 头插使之逆序
            la->next = pa;
            
            pa = cur;		        // 恢复位置
        } else {
            cur = pb->next;
            pb->next = la->next;
            la->next = pb;
            pb = cur;
        }
    }
    
   if (pa) pb = pa;		// 只会剩下一个非空链表
   
   while (pb) {			// 将链表剩余部分全部头插
       cur = pb->next;
       pb->next = la->next;
       la->next = pb;
       pb = cur;
   } 
}

不难看出,合并两个有序链表最坏情况就是,a中除最后一个元素外都比b中第一个元素小,而最后一个又都比b中元素大,时间复杂度为len1+len2,故选A。

✨ 计算机网络

采用8种相位,每种相位各有两种幅度的QAM调制方法,在1200Baud的信号传输速率下能达到的数据传输速率为___ 。(北京航空航天大学 2006年)

A.2400bit/s
B.3600bit/s
C.9600bit/s
D.4800bit/s

解析

答案:D

📢 8种相位,每个相位2种幅度,可以有16种变化,即可以携带4bit的数据,故有:
1200 ∗ 4 b i t / s = 4800 b i t / s 1200*4bit/s = 4800 bit/s 12004bit/s=4800bit/s

🎨 操作系统

下列选项中,导致创建新进程的操作是___ 。(中国科学院大学 2018年)

1)管理员启动Web服务

2)用户启动浏览器程序

3)浏览器访问新的网页

A. 仅1和2
B. 仅2和3
C. 仅1和3
D. 1、2、3

解析

答案:A

📢 显然:浏览器访问新的网页不会创建新进程。

🎮 计算机组成原理

设相对寻址的转移指令占2个字节,第一字节为操作码,第二字节为位移量(用补码表示),每当CPU从存储器取出一个字节时,即自动完成(PC)+1→PC。设当前指令地址为3008H,要求转移到300FH,则该转移指令第二字节的内容应为__ 。若当前指令地址为300FH,要求转移到3004H,则该转移指令第二字节的内容为___。(哈尔滨工业大学 2007年)

A.05H,F2H
B.07H,F3H
C.05H,F3H
D.07H,F2H

解析

答案:C

📢 当前指令地址为3008H时,取指结束后PC=300AH,欲转移到300FH,转移指令第二字节的内容应为+5(十进制),补码表示即为05H。

当前指令地址为300FH时,取指结束后PC=3011H,欲转移到3004H,转移指令第二字节的内容应为-13(十进制),补码表示即为F3H,故选C。

习题来源于@王道微博

解析都是我自己写的,如有问题或错漏烦请评论告知。

我是Mancuoj,欢迎关注我和我的计算机考研专栏 (≧∇≦)ノ

Logo

汇聚原天河团队并行计算工程师、中科院计算所专家以及头部AI名企HPC专家,助力解决“卡脖子”问题

更多推荐