🎉 数据结构
将两个长度分别为lenl和len2的升序链表,合并为一个长度为lenl+len2的降序列表,釆用归并算法,在最坏情况下,比较操作的次数与___最接近。(中国科学院大学 2015年)
A. lenl+len2 C. min(lenl, len2) B. Lenl*len2 D. Max(lenl, len2) 复制代码
解析
答案:A
📢 对于归并算法而言包括两种情况:
- 两个链表还有剩下的元素时,则取两个链表中的最大值放入新链表中
- 一个无剩余元素,另一个有剩余元素时,直接将另一个链表直接放入新链表中
好久没写代码,写个伪代码给你们康康😎
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∗4bit/s=4800bit/s1200*4bit/s = 4800 bit/s1200∗4bit/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,欢迎关注我和我的计算机考研专栏 (≧∇≦)ノ