130 likes | 283 Views
Kód ITMS projektu: 26110130519 Gymnázium Pavla Jozefa Šafárika – moderná škola tretieho tisícročia. Triedenie II. Obsah. Triedenie Triediace algoritmy Bubblesort SelectionSort Použité zdroje. Triedenie priamym vkladaním. InsertSort Princíp:
E N D
Kód ITMS projektu: 26110130519 Gymnázium Pavla Jozefa Šafárika – moderná škola tretieho tisícročia Triedenie II.
Obsah • Triedenie • Triediace algoritmy • Bubblesort • SelectionSort • Použité zdroje
Triedenie priamym vkladaním InsertSort Princíp: • pole rozdelíme na dve časti (utriedenú a neutriedenú), • na začiatku za utriedenú postupnosť považujeme prvý prvok poľa, • prvky z neutriedenej časti postupne zaraďujeme do utriedenej časti, • na konci sú všetky prvky zaradené a neutriedená časť zanikne. ukážka
Príklad Neusporiadané pole: 1. zaraďovanie: utriedená časť neutriedená časť 5>1, výmena
2. zaraďovanie: utriedená časť neutriedená časť 5<12, zostáva 3. zaraďovanie: utriedená časť neutriedená časť 15>-5, 5>-5, 1>-5, posúva sa
4. zaraďovanie: utriedená časť neutriedená časť 16>12, zostáva UTRIEDENÉ POLE:
Algoritmus InsertSort for i:=2 to pocet do begin j:=i-1 zarad:=p[i]; while (j>0) and (hodnota<p[j]) do begin p[j+1]:=p[j]; dec(i); end; p[j+1]:= zarad; end; Vnútorný cyklus zaraďuje prvok p[i] na správne miesto tak, že všetky väčšie posúva o jedno miesto vpravo Vonkajší cyklus posúva druhý až posledný prvok na zaraďovanie)
Rýchle triedenie - Quiksort • Jeden z najrýchlejších triediacich algoritmov založených na porovnávaní; • Princíp: • Zvolíme prvok (PIVOT), ktorý predstavuje strednú hodnotu všetkých prvkov (najnáročnejšia časť); • Pomocou pivota zaradíme všetky menšie prvky naľavo od neho a väčšie napravo
Tým sa rozdelí pole na 2 časti; • V každej časti postup opakujeme: • Nájdeme pivota a roztriedime podľa neho prvky. • Opakujeme, kým nezostanú jednoprvkové postupnosti čísel. • Efektívnosť algoritmu záleží od dobrého výberu pivota, ak je približne polovica prvkov menšia a polovica väčšia ako on. • ukážka
Porovnanie algoritmov • Bubble Sort, InsertSort a SelectionSort patria medzi najpomalšie algoritmy; • BubbleSort je najhorší – vyžaduje veľa výmen; • InsertSort je z nich najrýchlejší, používa pri triedení postupnosti do 1000 prvkov, alebo vtedy, ak je postupnosť takmer usporiadaná
Úloha 1 • Vytvorte program, ktorý utriedi prvky jednorozmerného poľa. • Použite aspoň 2 rôzne metódy triedenia. • Porovnajte ich. • Prvky poľa vygenerujte ako náhodné čísla z intervalu <0,50>. • Objekty do formulára umiestnite podľa potreby.
Úloha 2 • V textovom súbore bodovanie.txt máme uložené názvy štátov a bodový zisk za umiestnenia ich športovcov na olympiáde. Vytvorte program, ktorý tieto štáty usporiada zostupne podľa získaného počtu bodov s použitím jedného poľa. Komponenty do formulára umiestnite podľa potreby.
Použité zdroje • http://www.gjar-po.sk/studenti/informatika/ci_99_00/dzurenko/old/maturity/m03.htm