java web 普里姆算法和克魯斯卡爾算法區(qū)別?
普里姆算法和克魯斯卡爾算法區(qū)別?Kruskal算法:是在剩余的未選定邊中找到最小邊。如果它與選定的邊形成一個(gè)循環(huán),它將放棄并選擇第二小的邊。。Prim算法:相同的方法是在未選擇的邊中找到最小的邊,但還
普里姆算法和克魯斯卡爾算法區(qū)別?
Kruskal算法:
是在剩余的未選定邊中找到最小邊。如果它與選定的邊形成一個(gè)循環(huán),它將放棄并選擇第二小的邊。。
Prim算法:
相同的方法是在未選擇的邊中找到最小的邊,但還有一個(gè)選擇原則,即邊必須與所選邊連接。例如,如果邊(1,2)已選定,則下一條選定邊必須與頂點(diǎn)1或頂點(diǎn)2連接。。就這樣。。
普里姆與克魯斯卡爾算法有什么區(qū)別?
不總是一樣的。Kruskal算法是一種精確的算法,即每次都能得到最優(yōu)解,但對于大規(guī)模最小生成樹問題,求解速度較慢。Prim算法是一種近似求解算法,雖然它能得到大多數(shù)最小生成樹問題的最優(yōu)解,但其中相當(dāng)一部分是近似最優(yōu)解。這是我個(gè)人的看法。