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

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

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

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

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

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

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

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

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

同步練習(xí)冊(cè)答案