2017-05-05 100 views
-1

Graph如何利用普里姆算法找到如下圖的最小重量生成樹

Prim算法

查找最小生成樹算法。

  • 首先選擇權重最小的任意邊緣,將其放入生成樹中。
  • 繼續向樹中已經存在的最小權重的樹邊添加樹,從不形成樹中已有邊的簡單電路。
  • 停止添加n - 1個邊。

我知道你必須從節點A開始。同時給出一個 列表中添加節點和/或邊的順序。

但我不知道確切的步驟來找到最小權重生成樹。

+0

爲什麼你認爲你需要在節點啓動一個?這不是算法中的第一步所說的,是嗎? – beaker

+0

@beaker這是我被告知的,當你使用prim算法時,你必須從節點A開始,至少對於這個問題。 – la3anato

+0

然後它不是Prim的算法。如果你被要求做別的事情,那麼我建議你跟你的助教談談,並問他們你是否正確地遵循他們的指示。 – beaker

回答

0

選擇從所有未訪問的邊緣甲

A - B = 2

A - E = 2

A - F = 5

查找最便宜的:A - 乙

從A和B中選擇所有未訪問的邊緣

A - E = 2

A - F = 5

乙 - C = 1

乙 - E = 2

乙 - F = 4

查找最便宜的:B - C

從A,B和C中選擇所有未訪問的邊緣

A - E = 2

A - F = 5

乙 - E = 2

乙 - F = 4

Ç - d = 4

Ç - 電子= 1

查找最便宜的:C - 電子

選擇從A,B,C中的所有未訪問的邊緣和E

A - E = 2

A - F = 5

乙 - E = 2

乙 - F = 4

ç - d = 4

ë - d = 3

ë - F = 1

查找最便宜的:電子 - ˚F

節點d是唯一的未訪問過的節點,因此它可以是; D -E或C-D.

最便宜= E - d:3

現在所有的節點都被訪問,刪除未使用的邊緣

最小重量生成樹會是什麼樣子this

+0

多數民衆贊成多麼我會這樣做,但我不知道如果它的正確答案 – la3anato