Tietorakenteet ja algoritmit syksy 2020

Union-find-algoritmi

Toteuta kurssikirjan mukainen union-find-algoritmi, joka pitää yllä alkioiden muodostamia komponentteja.

Testaa algoritmia tapauksessa, jossa alussa on n alkiota jokainen omassa komponentissaan. Tämän jälkeen yhdistetään n kertaa kahden satunnaisen alkion komponentit toisiinsa. Jos valitut alkiot ovat jo samassa komponentissa, ei tehdä mitään.

Algoritmin testaus

Kun n = 100, aikaa kuluu sekuntia ja komponenttien määrä lopussa on .

Kun n = 1000, aikaa kuluu sekuntia ja komponenttien määrä lopussa on .

Kun n = 104, aikaa kuluu sekuntia ja komponenttien määrä lopussa on .

Kun n = 105, aikaa kuluu sekuntia ja komponenttien määrä lopussa on .

Algoritmin toteutus

Kirjoita tähän toteuttamasi algoritmin koodi:

The deadline for this task has passed


Return to task list