Vodič · Algoritmi · Sortiranje

Sortiranje – vodič kroz lekcije

Sortiranje je jedan od prvih algoritama koje treba naučiti: sortiran niz se lakše pretražuje, u njemu se brže nalaze duplikati, najmanji i najveći elementi, a mnogi pohlepni algoritmi počinju upravo sortiranjem.

Vodič ide od jednostavnih algoritama O(n²), preko efikasnih O(n log n), do funkcije sort koja se koristi na takmičenjima.

  • 5–8. razred i srednja škola
  • C++
  • Priprema za takmičenja
Za takmičare: algoritme iz prvog i drugog nivoa treba razumeti (javljaju se u pitanjima i kao ideje u drugim zadacima), ali se u rešenjima skoro uvek koristi sort iz biblioteke <algorithm>.

1 Jednostavni algoritmi

Algoritmi koje je lako razumeti i napisati – za nizove do nekoliko hiljada elemenata.

2 Efikasni algoritmi O(n log n)

Podeli pa vladaj: kako se sortira milion brojeva za delić sekunde.

3 Sortiranje u praksi

Šta se zaista piše na takmičenju.

4 Zadaci i dalje

Zbirka zadataka i teme koje se oslanjaju na sortiranje.

Predloženi redosled

  1. Izbor, umetanje i mehurić
  2. Sortiranje objedinjavanjem
  3. Brzo sortiranje
  4. Funkcija sort u C++
  5. Sortiranje prebrojavanjem
  6. Zadaci sa rešenjima

Korisni spoljni resursi

  • CSES Problem Set – odeljak „Sorting and Searching“, zadaci sa automatskom proverom
  • Petlja – zbirke zadataka na srpskom sa automatskom proverom
  • VisuAlgo – Sorting – animacije svih algoritama sortiranja korak po korak