歸納法證明Prim算法的正確性

歸納法證明Prim算法正確性:

1、選擇第一個邊的時候,選擇的是權值最小的邊。顯然,該邊是最小生成樹的一部分。

否則,將該邊加到最小生成樹中,則形成迴路,讓該邊取代迴路中比這個最小邊權值大的邊,仍然得到最生成樹,但該生成樹比所得到的最小生成樹還要小,這與假設矛盾。因此第一次選取的最小邊,一定是最小生成樹的一部分

2、現在假設選取的前s條邊是最小生成樹的一部分,這些邊連接的節點記做n1,n2,...,ns+1。和這s+1個點相連的所有邊中權重最小的邊一定在最小生成樹中。

反證法證明:假設該權重最小邊不在最小生成樹中,則在最終的最小生成樹中加入該最小邊就會形成環,這時將環內相對權重最大的那條邊刪掉,就得到了一個期望權重更小的生成樹,這與假設矛盾。所以該邊一定在最小生成樹中。

3、綜上,prim算法成立

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章