一頓飯讓你學會作業排程和程序排程
場景:畢業師兄請我們去鳳雛吃飯。
流程:菜由後廚做好,然後由服務員端上飯桌,接著我們吃飯。
服務員排程演算法:後廚的菜做好,由服務員選擇端哪個菜上桌,這個服務員是兼洗碗的,她今天晚上還有個約會,所以她希望儘早地把碗刷完去約會,所以她的排程演算法是,看哪個菜比較快吃掉,就先上哪個菜,這樣我們吃完一個菜她就洗一個碗,不用拖太久下班。
我的排程演算法:我不是每種菜都喜歡吃,我對菜有一個喜好排序。所以我的排程演算法是,看我的喜好,1級喜好的比2級喜好的先吃掉。
菜涼了時間:一個菜從做好到吃完這段時間,都在涼,所以把這段時間叫做菜涼了時間,菜涼了時間越短,使用者體驗越好
菜墊:有的菜太燙了,需要墊子墊著。
菜名 |
後廚煮好的時間 |
吃掉這個菜所花時間/min |
需不需要菜墊 |
我的喜好 |
紅燒肉 |
14:00 |
40 |
1 |
4 |
娃娃菜 |
14:20 |
30 |
0 |
2 |
烏雞湯 |
14:30 |
50 |
1 |
3 |
紅豆湯 |
14:50 |
20 |
0 |
5 |
糖醋魚 |
15:00 |
10 |
1 |
1 |
假設今天飯桌上就只有一個菜墊,根據上表的資訊,請算出哪一個菜第一個吃完,哪一個菜第二個......哪一個最後一個吃完?平均菜涼了時間是多少?
解:
14:00時,後廚把紅燒肉做好了,服務員把紅燒肉端上了桌,我開吃
14:20時,娃娃菜做好了,服務員把娃娃菜端上了桌,因為我更喜歡吃娃娃菜,所以我改吃娃娃菜,此時紅燒肉還剩下
14:30時,烏雞湯做好了,但是由於飯桌上就一個菜墊,紅燒肉在用,所以服務員沒有把烏雞湯端上桌,這時娃娃菜剩下20min吃完, 紅燒肉剩下20min吃完。
14:50時,紅豆湯做好了,由於紅豆湯是冷的,不需要墊子,所以服務員把紅豆湯上桌。
這個時候剛好娃娃菜吃完了,所以飯桌上有紅燒肉和紅豆湯。甜品得放最後吃,所以先吃紅燒肉,此時紅燒肉剩20min吃完。
15:00時,糖醋魚也做好了,但是糖醋魚也需要墊子,不上桌。這個時候,後廚那邊還有一個烏雞湯和一個糖醋魚沒上桌。
15:10時,紅燒肉終於被我吃完了。終於騰出個墊子,累死爸爸了。這個時候,烏雞湯和糖醋魚就開始爭著上桌了。服務員說今晚要約會,還是先上糖醋魚吧,吃
我們吃完紅燒肉,飯桌上有紅豆湯和糖醋魚。我是屬貓的,很喜歡糖醋魚,先吃糖醋魚。
15:20時,糖醋魚吃完啦,好飽啊。服務員看到有墊子了,馬上就送上來了烏雞湯。我覺得烏雞湯也還行,就開吃了,紅豆再最後喝吧。就開始喝烏雞湯。
16:10時,這碗烏雞湯是超級大碗的啊,喝了我50min,好飽啊,飯桌上剩個紅豆湯,喝吧
16:30時,我把所有的菜都吃完了!
菜名 |
做好時間 |
吃掉需時 |
需要墊嗎 |
我的喜好 |
吃完時間 |
菜涼了時間/min |
紅燒肉 |
14:00 |
40 |
1 |
4 |
15:10 |
70 |
娃娃菜 |
14:20 |
30 |
0 |
2 |
14:50 |
30 |
烏雞湯 |
14:30 |
50 |
1 |
3 |
16:10 |
100 |
紅豆湯 |
14:50 |
20 |
0 |
5 |
16:30 |
100 |
糖醋魚 |
15:00 |
10 |
1 |
1 |
15:20 |
20 |
平均菜涼了時間=(70+30+100+100+20)/5=64min |