同學(xué)們會面對一個共同的問題,就是有時有太多的事情要做.例如,你可能面臨好幾門課的作業(yè)的最后期限,你如何合理安排以確保每門課的作業(yè)都能如期完成?如果根本不可能全部按期完成,你怎么辦?

  這里給出的霍奇森(Hodgson)算法,可以使得遲交作業(yè)的數(shù)目減到最小.這一算法已經(jīng)廣泛應(yīng)用于工業(yè)生產(chǎn)安排的實(shí)踐中.

假設(shè)你知道各項(xiàng)作業(yè)的到期日,并且知道或能估計出完成每項(xiàng)作業(yè)將花費(fèi)的時間,下面是這個算法的自然語言表述:

  第一步 把這些作業(yè)按到期日的順序從左到右排列,從最早到期的到最晚到期的;

  第二步 假設(shè)從左到右一項(xiàng)一項(xiàng)做這些作業(yè)的話,計算出從開始到完成某一項(xiàng)作業(yè)時所花的時間.依次做此計算直到完成了所列表中的全部作業(yè)而沒有一項(xiàng)作業(yè)會超期,停止;或你算出某項(xiàng)作業(yè)將會超期,繼續(xù)第三步;

  第三步 考慮第一項(xiàng)將會超期的作業(yè)以及它左邊的所有作業(yè),從中取出花費(fèi)時間最長的那項(xiàng)作業(yè),并把它從表中去掉;

  第四步 回到第二步,并重復(fù)第二到四步,直到做完.

  根據(jù)上表,按霍奇森算法,寫出程序框圖和程序.

練習(xí)冊系列答案
相關(guān)習(xí)題

同步練習(xí)冊答案