Video: Rozdíl Mezi Kruskal A Prim
2024 Autor: Mildred Bawerman | [email protected]. Naposledy změněno: 2023-12-16 08:37
Kruskal vs Prim
Ve výpočetní technice jsou Primovy a Kruskalovy algoritmy chamtivý algoritmus, který najde minimální kostru pro připojený vážený neorientovaný graf. Překlenovací strom je podgrafem grafu, takže každý uzel grafu je spojen cestou, kterou je strom. Každý kostra má váhu a minimální možná váha / cena všech koster je minimální kostra (MST).
Více o Primově algoritmu
Algoritmus vyvinul český matematik Vojtěch Jarník v roce 1930 a později samostatně počítačový vědec Robert C. Prim v roce 1957. Znovu ho objevil Edsger Dijkstra v roce 1959. Algoritmus lze konstatovat ve třech klíčových krocích;
Vzhledem k připojenému grafu s n uzly a příslušné hmotnosti každé hrany, 1. Vyberte libovolný uzel z grafu a přidejte jej do stromu T (který bude prvním uzlem)
2. Zvažte váhy každé hrany připojené k uzlům ve stromu a vyberte minimum. Přidejte hranu a uzel na druhém konci stromu T a odeberte hranu z grafu. (Vyberte libovolné, pokud existují dvě nebo více minim.)
3. Opakujte krok 2, dokud do stromu nepřidáte n-1 hran.
V této metodě strom začíná jedním libovolným uzlem a od tohoto uzlu se rozšiřuje každým dalším cyklem. Aby tedy algoritmus správně fungoval, musí být graf spojeným grafem. Základní forma Primova algoritmu má časovou složitost O (V 2).
Více o Kruskalově algoritmu
Algoritmus vyvinutý Josephem Kruskalem se objevil ve sborníku Americké matematické společnosti v roce 1956. Kruskalův algoritmus lze také vyjádřit ve třech jednoduchých krocích.
Vzhledem k grafu s n uzly a příslušnou váhou každé hrany, 1. Vyberte oblouk s nejmenší váhou celého grafu a přidejte jej do stromu a vymažte z grafu.
2. Ze zbývajících vyberte nejméně váženou hranu způsobem, který netvoří cyklus. Přidejte hranu do stromu a odstraňte ji z grafu. (Vyberte libovolné, pokud existují dvě nebo více minim.)
3. Opakujte postup v kroku 2.
V této metodě začíná algoritmus s nejméně váženou hranou a pokračuje ve výběru každé hrany v každém cyklu. V algoritmu proto nemusí být graf připojen. Kruskalův algoritmus má časovou složitost O (logV)
Jaký je rozdíl mezi Kruskalovým a Primovým algoritmem?
• Primův algoritmus se inicializuje uzlem, zatímco Kruskalův algoritmus se inicializuje hranou.
• Primovy algoritmy se rozprostírají z jednoho uzlu do druhého, zatímco Kruskalův algoritmus vybírá hrany tak, aby poloha hrany nevycházela z posledního kroku.
• V primově algoritmu musí být graf spojeným grafem, zatímco Kruskalův může fungovat i na odpojených grafech.
• Primův algoritmus má časovou složitost O (V 2) a Kruskalova časová složitost je O (logV).
Doporučená:
Rozdíl Mezi Symetrickými A Asymetrickými špičkovými Molekulami
Klíčovým rozdílem mezi symetrickými a asymetrickými vrchními molekulami je to, že symetrické vrchní molekuly mají jednu správnou osu otáčení a dva momenty setrvačnosti
Rozdíl Mezi Transgenními A Knockoutovými Myšmi
Klíčovým rozdílem mezi transgenními a knockoutovanými myšmi je, že transgenní myši mají do svého genomu vložené cizí geny, zatímco knockoutované myši mají funkci
Rozdíl Mezi Cisgenezí A Intragenezí
Klíčovým rozdílem mezi cisgenezí a intragenezí je, že v cisgenezi jsou geny zavedeny bez jakékoli změny sekvence DNA a ge
Rozdíl Mezi Vzestupnou A Sestupnou Papírovou Chromatografií
Klíčovým rozdílem mezi vzestupnou a sestupnou papírovou chromatografií je to, že vzestupná papírová chromatografie zahrnuje pohyb rozpouštědla v
Rozdíl Mezi Klíčovým Rozdílem Mezi Kovovými A Nekovovými Minerály
Klíčový rozdíl - kovové vs. nekovové minerály Minerál je přirozeně se vyskytující pevná a anorganická složka s určitým chemickým vzorcem a