勵志

勵志人生知識庫

匈牙利算法是什麼

匈牙利算法是一種用於解決指派問題的組合最佳化算法,這種算法可以在多項式時間內找到最優的任務分配方案,使得總體成本或時間最小化。

匈牙利算法基於圖論的方法,利用二分圖增廣路徑的概念。它通過不斷尋找增廣路徑來匹配任務和工人,直到無法找到新的增廣路徑為止。該算法通過深度優先搜尋或廣度優先搜尋來找到增廣路徑,並通過交替匹配交替標記的方式進行任務和工人的匹配。

匈牙利算法的時間複雜度為O(n^3),其中n為任務(工人)的數量。它已經被廣泛套用於任務分配、人員調度、運輸規劃等實際問題中。