每日一句:万事贵在坚持、难在坚持、成在坚持。
数据结构
1.如果最常用的操作是取第i个结点及其前驱,则采用 存储方式最节省时间。(南京航空航天大学 2011年)
A.单链表
B.双链表
C.单循环链表
D.顺序表
答案:D
解析:容易错误选择双链表,是因为直观的看到“前驱”。实际题目说的是“取”前驱,应该理解为读前驱,这是顺序表的优势所在,时间复杂度为O(1);当进行插入或删除操作时由于顺序表可能需要移动的元素较多,不如双链表方便。
线性表中最常用的操作是取第i个元素,所以,应选择随机存取结构即顺序表,同时在顺序表中查找第i个元素的前趋也很方便。
单链表和单循环链表既不能实现随机存取,查找第i个元素的前趋也不方便,双链表虽然能快速查找第i个元素的前趋,但不能实现随机存取。
顺序表是在计算机内存中以数组的形式保存的线性表,线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素、使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中。
通过数据元素物理存储的相邻关系来反映数据元素之间逻辑上的相邻关系,采用顺序存储结构的线性表通常称为顺序表。顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中。
计算机网络
2.TCP可靠传输的实现中,不包括 。(中国科学技术大学 2012年)
A. 以字节为单位的滑动窗口
B. 超时重传时间的选择
C. TCP报文的紧急指针字段
D. TCP报文选项部分的选择确认(SACK)字段
答案:C
解析:紧急指针并不是确保TCP可靠传输的组成部分
TCP如何保证数据传输的可靠性?
-
序列号,ACK信号:发送方按照顺序给要发送的数据包的每个字节都标上编号。接收方接收到发送方的数据包之后,回传一个ACK信号,标识下一个需求的数据包初始字节编号。
-
超时重发:在等待接收方回传的ACK信号超时后,发送方重发数据包。一旦开始重传,下一次等待的时间间隔指数增长,重发一定次数后还是收不到ACK信号,将强制终止连接。【B✔】
-
TCP的连接管理:建立连接的三次握手和断开连接的四次挥手。
-
以段为单位发送数据包:在建立TCP连接的同时,两端协商发送数据包的单位,称为“最大消息长度”:MSS。[TCP数据(MSS字节)][TCP首部(20字节)][IP首部(20字节)]
-
滑动窗口:以段为单位发送数据包,每发送一个数据包需要等待一个ACK信号,当数据包往返时间越长效率越低。滑动窗口中窗口前端为已发送但为收到ACK的数据,后端为待发送数据。发送端一次发送多个数据,接收端回传收到的连续数据的ACK信号,缓存缺失数据之后的数据包(保持顺序)。发送端当收到ACK信号时,窗口向前依次移动,直到遇到有数据未确认时停止。一段时间后启动超时重传,接收端若收到缺失数据,则和缓存数据一起发送ACK信号,否则,移除缓存数据。【A✔】
-
流量控制:TCP首部有一个字段来通知窗口的大小,接收端通过设置来主动控制传输流量。
-
拥塞控制:发送端通过拥塞窗口主动控制传输流量。慢启动:防止双方通信刚开始就传送大量数据包,发送端拥塞窗口初始设置为1MSS,每接受一个ACK信号,窗口扩大为两倍。发送数据时,取拥塞窗口和滑动窗口的较小值。同时设定一个慢启动阈值,当拥塞窗口大小超过阈值时,改为线性增长,直到网络拥塞。拥塞时将慢启动阈值设置为当前窗口的的一半,并将拥塞窗口的值设置为1,然后再次重复操作。
拓展:
8.SACK选择确认字段:
TCP收到乱序数据后会将其放到乱序序列中,然后发送重复ACK给对端。对端如果收到多个重复的ACK,认为发生丢包,TCP会重传最后确认的包开始的后续包。这样原先已经正确传输的包,可能会重复发送,降低了TCP性能。为改善这种情况,发展出SACK技术,使用SACK选项可以告知发包方收到了哪些数据,发包方收到这些信息后就会知道哪些数据丢失,然后立即重传丢失的部分.【D✔】那么紧急指针有什么用呢?
当发送端把紧急信息放到TCP报文中进行传输的时候,接受端识别URG置1,就需要通过紧急指针优先访问紧急数据。【C✖】
TCP提供了“紧急方式(urgentmode)”,它使连接的一端可以告诉另连接的一端有些“紧急数据”已经被放置在数据流中。紧急数据的处理方式由接收方决定。
要发送紧急数据需要设置TCP首部中的两个字段来。URG比特被置1,并且要将16bit的紧急指针设置为一个正的偏移量,该偏移量必须与TCP首部中的序号字段相加,以便得出紧急数据的最后一个字节的序号。
操作系统
3.一作业8:00到达系统,估计运行时间为1小时,若10:00开始执行该作业.其响应比是 (南京理工大学 2010年)
A. 2
B. 1
C. 3
D. 0.5
答案:C
解析:响应比=作业周转时间/作业执行时间=(作业执行时间+作业等待时间)/作业执行时间。
本题作业执行时间为1h,作业等待时间为2h,相应比(1+2)/1=3。
计算机组成原理
4.单地址指令中为了完成两个数的算术运算,除地址码指明一个操作数外,另一个采用 方式。(北京科技大学 2014年)
A.立即寻址
B.隐含寻址
C.间接寻址
D.基址寻址
答案:B
解析:隐含寻址是在指令中不明显地给出而是隐含着操作数地址的指令格式,在单地址指令中要完成两个操作数的运算,则必定有一个是隐含寻址。
拓展:
单地址指令又叫一地址指令,即只有一个操作数地址的指令。
定义:指令编码中只有一个地址码,指出了参加操作的一个操作数的存储位置,被操作数则隐含在累加器中,这样的指令称为一地址指令。
当前所有题目均来自@王道在线公众号,其中对部分题目解析进行了补充说明,
如有问题或错漏烦请评论告知,感谢支持!