Welcome

首页 / 软件开发 / C# / C#实现匈牙利算法

C#实现匈牙利算法2011-03-25墙头草算法的原理:

范例:

有四位教授被分派开设四门课程,如何指派使所需的总准备时间为最小.已知个人对各 课程之准备时间如下表所示:

课程1

课程2

课程3

课程4

教授A21097
教授B154148
教授C13141611
教授D415139
解法:

Step 1. 在各列中找最小值,将该列中各元素检去此值,对各行重复一次.

08 7 5 本列各减2

11 0 10 4 本列各减4

2350
本列各减11

01195
本列各减4

0825
11054
2300
01145
本栏各减0

本栏各减0

本栏各减5

本栏各减0

Step 2. 检验各列,对碰上之第一个零,做记号,同列或同栏的其他零则画X (由零较少 的列先做,可不依顺序)

0825
11054
2300
01145