15.有2組器件共n個(gè),要用一臺(tái)檢測(cè)設(shè)備檢測(cè)。每個(gè)送檢器件的信息包含送達(dá)時(shí)間、檢測(cè)時(shí)長(zhǎng)和優(yōu)先級(jí)。優(yōu)先級(jí)有m(1<m<6)個(gè)等級(jí),由高到低分別用0-m-1的整數(shù)表示。每個(gè)機(jī)器件的送達(dá)時(shí)間各不相同。已送達(dá)的器件按照各優(yōu)先級(jí)通道分別排隊(duì),先到達(dá)先入隊(duì)。設(shè)備每次檢測(cè)都從當(dāng)前各非空隊(duì)列中,選取優(yōu)先級(jí)最高的隊(duì)列的隊(duì)首器件出隊(duì)進(jìn)行檢測(cè)。(同一時(shí)刻出現(xiàn)入隊(duì)和出隊(duì)時(shí),先處理入隊(duì)。)編寫程序模擬檢測(cè)過程,先合并2組器件的數(shù)據(jù),然后計(jì)算所有器件的平均等待時(shí)長(zhǎng),其中每個(gè)器件等待時(shí)長(zhǎng)為其開始檢測(cè)的時(shí)間與送達(dá)時(shí)間的時(shí)間差。(時(shí)間單位均為秒)
請(qǐng)回答下列問題:
(1)由題意可知,表中器件A、B、C、D的檢測(cè)順序?yàn)锳-C-D-B,A、C、D的等待時(shí)長(zhǎng)分別為0、1、0,B的等待時(shí)長(zhǎng)是
。
A |
送達(dá)時(shí)間 |
檢測(cè)時(shí)長(zhǎng) |
優(yōu)先級(jí) |
B |
0 |
3 |
2 |
C |
1 |
1 |
2 |
D |
2 |
1 |
1 |
|
3 |
3 |
0 |
|
11 |
3 |
2 |
|
12 |
2 |
2 |
(2)定義如下merge(lst1,lst2)函數(shù),參數(shù)lstl和lst2的每個(gè)元素由送達(dá)時(shí)間、檢測(cè)時(shí)長(zhǎng)和優(yōu)先級(jí)3項(xiàng)構(gòu)成,lst1和lst2均已按送達(dá)時(shí)間升序排列。函數(shù)功能是將lst2中的元素合并到lstl中,并將lstl按送達(dá)時(shí)間升序排列,函數(shù)返回lst1。
①調(diào)用merge(lst1,lst2)函數(shù),若lst1為[[0,3,2],[1,1,2],[12,2,2]],lst2為[[2,1,1],[4,3,0],[11,3,2]],則while語(yǔ)句中循環(huán)體的執(zhí)行次數(shù)是
。
②若函數(shù)中while語(yǔ)句的條件“j>=0”誤寫為“k>=0”,會(huì)導(dǎo)致某些情況下無法得到符合函數(shù)功能的結(jié)果。調(diào)用merge(lst1,lst2)函數(shù),下列4組數(shù)據(jù)中能測(cè)試出這一問題的是
(單選,填字母)。
(3)實(shí)現(xiàn)模擬檢測(cè)過程并計(jì)算平均等待時(shí)長(zhǎng)的部分Python程序如下,請(qǐng)?jiān)跈M線處填入合適的代碼。