小弟解題方式可能較繁瑣,有任何可優化處可以提出,謝謝~
-
開一個大小為n的陣列,內容為自訂struct。
array[i] 代表編號i的工作站/貨櫃。
struct包含四參數:isBox(是否為貨櫃)、left(左子節點)、right(右子節點)、weight(所有該工作站以後之貨櫃 的 重量總和)
原則上以遞迴或while迴圈來寫更新,每次要放入新的貨物時,從root開始遞迴,檢查left、right工作站的weight,並前往weight比較小的工作站。
並在每traversal一次節點時,將該節點weight加上貨物重量。