算法简介
普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点,且其所有边的权值之和亦为最小。
图解
1、原始的加权连通图。每条边一侧的数字代表其权值。
2、顶点 D D D被任意选为起始点。顶点 A 、 B 、 E A、B、E A、B、E和 F F F通过单条边与 D D D相连。 A A A是距离 D D D最近的顶点,因此将 A A A 及对应边 A D AD AD以高亮表示。
3、下一个顶点为距离 D 或 A D或A D或A最近的顶点。 B 距 D 为 9 , 距 A 为 7 , E 为 15 , F 为 6 B距D为9,距A为7,E为15,F为6 B距D为9,距A为7,E为15,F为6。因此, F 距 D 或 A F距D或A F距D或A最近,因此将顶点 F 与 相 应 边 D F F与相应边DF F与相应边DF以高亮表示。
4、 算 法 继 续 重 复 上 面 的 步 骤 。 距 离 A 为 7 的 顶 点 B 被 高 亮 表 示 算法继续重复上面的步骤。距离A为7的顶点B被高亮表示 算法继续重复上面的步骤。距离A为7的顶点B被高亮表示。
5、在当前情况下,可以在 C 、 E 与 G C、E与G C、E与G间进行选择。 C 距 B 为 8 , E 距 B 为 7 , G 距 F 为 11 C距B为8,E距B为7,G距F为11 C距B为8,E距B为7,G距F为11。点 E E E最近,因此将顶点 E E E与相应边 B E BE BE高亮表示。
6、这里,可供选择的顶点只有 C 和 G 。 C 距 E 为 5 , G 距 E 为 9 , 故 选 取 C , 并 与 边 E C C和G。C距E为5,G距E为9,故选取C,并与边EC C和G。C距E为5,G距