Table of Contents
Pienintäkin puiden kokoa käytetään yhdistämään kaikki solmut kuviossa, jossa on vähiten reunapainoa. Kaksi yhteistä algoritmia näiden puiden löytämiseksi ovat Kruskali- ja Prim. Molemmat ovat tehokkaita, mutta eroavat toisistaan lähestymistavassa ja toteutuksessa.
Kruskal...
Kruskal.s algoritmi lajittelee kaikki reunat kaavion paino. Se sitten lisää reunat koko puu, alkaen pienin, varmista, että ei sykliä muodostuu. Tämä prosessi jatkuu kunnes kaikki solmut ovat yhteydessä.
Algoritmi on erityisen tehokas harvaan kuvaajiin. Se käyttää disjoint-settidatarakennetta tarkistaakseen tehokkaasti, luoko reunan lisääminen syklin.
Prim...
Prim.s-algoritmi alkaa mielivaltaisesta solmusta ja kasvaa kokoava puu lisäämällä pienin reuna, joka yhdistää puun uuteen solmuun. Se jatkuu kunnes kaikki solmut ovat mukana.
Tämä menetelmä on usein suosittu tiheille kaavioille. Se käyttää prioriteettijonoa valitakseen seuraavan reunan, jossa on pienin paino.
Vertailu ja täytäntöönpano
Molemmat algoritmit takaavat löytää vähimmäiskokoavan puun, mutta niiden tehokkuus riippuu kaavion rakenteesta. Kruskal.S on yksinkertaisempi toteuttaa keskittyä lajittelun reunat, kun taas Prim.s voi olla tehokkaampi tiheä kaavioita käyttäen ensisijainen jono.
- Kruskal... lajittelee reunat maailmanlaajuisesti
- Prim... kasvaa puusta alkusolmusta
- Molemmat käyttävät erilaisia tietorakenteita tehokkuuden parantamiseksi
- Valinta riippuu kaavioiden tiheydestä ja koosta