主观

(10 分)设有 6 个有序表 A、B、C、D、E、F,分别含有 10、35、40、50、60 和 200 个数据元素,各表中元素 按升序排列。要求通过 5 次两两合并,将 6 个表最终合并成 1 个升序表,并在最坏情况下比较的总次数达到最小。

请问答下列问题。

(1)给出完整的合并过程,并求出最坏情况下比较的总次数。

(2)根据你的合并过程,描述 n(n≥2)个不等长升序表的合并策略,并说明理由。

参考答案
您可能感兴趣的试题

(12 分)某 16 位计算机中,带符号整数用补码表示,数据 Cache 和指令 Cache 分离。题 44 表给出了指令系统 中部分指令格式,其中 Rs 和 Rd 表示寄存器,mem 表示存储单元地址,(x)表示寄存器 x 或存储单元 x 的内容。

题 44 表指令系统中部分指令格式

名称

指令的汇编格式

指令功能

加法指令

ADD Rs,Rd

(Rs)+(Rd)->Rd

算术/逻辑左移

SHL Rd

2*(Rd)->Rd

算术右移

SHR Rd

(Rd)/2->Rd

取数指令

LOAD Rd,mem

(mem)->Rd

存数指令

STORE Rs,mem

Rs->(mem)

该计算机采用 5 段流水方式执行指令,各流水段分别是取指(IF)、译码/读寄存器(ID)、执行/计算有效地 址(EX)、访问存储器(M)和结果写回寄存器(WB),流水线采用“按序发射,按序完成”方式,没有采用转发

技术处理数据相关,并且同一寄存器的读和写操作不能在同一个时钟周期内进行。请回答下列问题。

(1)若 int 型变量 x 的值为-513,存放在寄存器 R1 中,则执行“SHL R1”后,R1 中的内容是多少?(用十六进制表 示)

(2)若在某个时间段中,有连续的 4 条指令进入流水线,在其执行过程中没有发生任何阻塞,则执行这 4 条指令 所需的时钟周期数为多少?

(3)若高级语言程序中某赋值语句为 x=a+b,x、a 和 b 均为 int 型变量,它们的存储单元地址分别表示为[x]、[a]和[b]。该语句对应的指令序列及其在指令流中的执行过程如题 44 图所示。

 

则这 4 条指令执行过程中 I3 的 ID 段和 I4 的 IF 段被阻塞的原因各是什么?

(4)若高级语言程序中某赋值语句为 x=x*2+a,x 和 a 均为 unsigned int 类型变量,它们的存储单元地址分别表示 为[x]、[a],则执行这条语句至少需要多少个时钟周期?要求模仿题 44 图画出这条语句对应的指令序列及其在流水 线中的执行过程示意图。

¥

订单号:

遇到问题请联系在线客服

订单号:

遇到问题请联系在线客服