Vodič · Algoritmi · Strukture podataka

Strukture podataka – vodič kroz lekcije

Struktura podataka je način na koji su podaci smešteni u memoriji. Od izbora strukture zavisi koliko brzo se element dodaje, briše ili pronalazi – zato isti zadatak može da traje sekundu ili sat.

Vodič ide od niza, stringa i matrice, preko steka, reda i skupova, do struktura koje se koriste na državnom takmičenju i SIO: Fenwick i segmentno stablo.

  • 6–8. razred i srednja škola
  • C++
  • Priprema za takmičenja
Kako izabrati strukturu: pitaj se koje operacije zadatak radi najčešće – pristup po indeksu (niz), dodavanje/uklanjanje sa kraja (stek) ili početka (red), traženje i uklanjanje duplikata (set), brojanje (map), najmanji element koji se stalno menja (priority_queue), zbir na intervalu uz izmene (Fenwick).

1 Osnovne strukture

Niz, string, matrica, strukture i vektori – temelj svih ostalih.

2 Linearne strukture

Elementi poređani jedan za drugim, sa različitim pravilima dodavanja i uklanjanja.

3 Skupovi, mape i red sa prioritetom

Gotove strukture iz C++ biblioteke koje rade u O(log n).

4 Napredne strukture

Strukture za državno takmičenje i SIO.

Predloženi redosled

  1. Niz, string i matrica – zadaci
  2. Strukture i unije
  3. Vektori
  4. Povezane liste
  5. Stek
  6. Red
  7. Skupovi i mape
  8. Red sa prioritetom
  9. Disjoint Set Union
  10. Fenwick stablo
  11. Segmentno stablo

Korisni spoljni resursi

Mapa učenja — Strukture podataka