Minimalus dengiantis medis
Eksperimento būdų nustatykite algoritmo sudėtingumą. Palyginkite rezultatą su teoriniu:
parašyti programą;
atlikti testavimą su skirtingais duomenų kiekiais;
braižyti grafiką;
padarykite išvadas;
Jūsų pasirinkti: Kraskalo algoritmas.
Kaskalo algoritmas
Kraskalo algoritmas (angl. Kruskal's algorithm) yra minimalių ištemptų medžių (minimal spanning tree) konstravimo algoritmas grafe. Minimalus ištemptas medis yra toks sujungtas grafas, kuris yra jungiamasis (nėra ciklų) ir jo svoris yra minimalus, t.y., suma visų briaunų svorių yra kuo mažiausia.
Pagrindiniai Kraskalo algoritmo žingsniai:
Surūšiuot visas briaunas pagal svorį didėjimo tvarka.
Pradėti su atskirais minimaliais ištemptais medžiai (kuriuose yra tik viena viršūnė) ir palaipsniui jungti juos su mažiausio svorio briauna, jei tai nekelia ciklų.
Grafo viršūnių skaičius 50. C++ programa matuojama rikiavimo laiką mikrosekundėmis kai briaunos – nuo 1000 iki 10000.
Rezultatai pateikiami lentelėje
Rezultatai pateikiami lentelėje
Briaunų skaičius Bandymų skaičius | 1000 | 2000 | 3000 | 4000 | 5000 | 6000 | 7000 | 8000 | 9000 | 10000 |
1 | 324 | 842 | 811 | 1723 | 1856 | 1843 | 2300 | 3853 | 3852 | 3441 |
2 | 308 | 811 | 586 | 1363 | 2174 | 2251 | 3159 | 2802 | 3022 | 3393 |
3 | 188 | 611 | 1273 | 1229 | 1741 | 3113 | 3235 | 2281 | 4728 | 3826 |
4 | 413 | 805 | 1267 | 832 | 1895 | 1397 | 2344 | 2156 | 2464 | 4101 |
5 | 294 | 817 | 989 | 1223 | 2211 | 2703 | 2818 | 3077 | 3114 | 3263 |
6 | 193 | 851 | 1274 | 1409 | 1504 | 2677 | 2193 | 6412 | 2405 | 3271 |
7 | 1095 | 434 | 860 | 787 | 1594 | 2010 | 1600 | 6908 | 3579 | 2995 |
8 | 325 | 734 | 930 | 1713 | 2314 | 1251 | 2272 | 6227 | 3102 | 3155 |
9 | 300 | 467 | 611 | 1875 | 1724 | 2526 | 2082 | 3939 | 1984 | 2221 |
10 | 419 | 613 | 1258 | 1673 | 1390 | 2086 | 4567 | 3704 | 6927 | 4888 |
11 | 193 | 822 | 926 | 1467 | 1735 | 1944 | 1900 | 2113 | 3211 | 3530 |
12 | 331 | 850 | 995 | 1577 | 1714 | 2883 | 5242 | 2643 | 1960 | 4817 |
13 | 292 | 791 | 896 | 1707 | 1652 | 2501 | 2547 | 2771 | 2078 | 4646 |
Išvados
Remiantis teorija, Kruskalo algoritmo sudėtingumas yra daugiausiai priklauso nuo briaunų rūšiavimo pagal svorį. Pagrindinis žingsnis, kuriame briaunos surūšiuojamos, turi sudėtingumą O(E \log E), kur E yra briaunų skaičius grafe. Tai atsiranda dėl to, kad surūšiuojant briaunas pagal svorį, dauguma efektyvių rūšiavimo algoritmų turi sudėtingumą, proporcingą $E \log E$.
Šį darbą sudaro 618 žodžiai, tikrai rasi tai, ko ieškai!
★ Klientai rekomenduoja
Šį rašto darbą rekomenduoja mūsų klientai. Ką tai reiškia?
Mūsų svetainėje pateikiama dešimtys tūkstančių skirtingų rašto darbų, kuriuos įkėlė daugybė moksleivių ir studentų su skirtingais gabumais. Būtent šis rašto darbas yra patikrintas specialistų ir rekomenduojamas kitų klientų, kurie po atsisiuntimo įvertino šį mokslo darbą teigiamai. Todėl galite būti tikri, kad šis pasirinkimas geriausias!
Norint atsisiųsti šį darbą spausk ☞ Peržiūrėti darbą mygtuką!
Mūsų mokslo darbų bazėje yra daugybė įvairių mokslo darbų, todėl tikrai atrasi sau tinkamą!
Panašūs darbai
Kiti darbai
Atsisiuntei rašto darbą ir neradai jame reikalingos informacijos? Pakeisime jį kitu nemokamai.
Pirkdamas daugiau nei vieną darbą, nuo sekančių darbų gausi 25% nuolaidą.
Išsirink norimus rašto darbus ir gauk juos akimirksniu po sėkmingo apmokėjimo!