Sobes.tech
Junior

Koje postoje strukture podataka?

sobes.tech АИ

Одговор од АИ

Nizovi, liste, stekovi, redovi, stabla, grafovi, hash tabele.

Niz: Kolekcija elemenata istog tipa, smeštena u susedne memorijske ćelije. Pristup putem indeksa.

Lista: Sekvencijalna kolekcija elemenata. Mogu biti jednostruko ili dvostruko povezane. Dodavanje/brisanje u sredini je efikasnije nego u nizu.

Stek: Struktura LIFO (Last-In, First-Out). Operacije: push (dodavanje), pop (uklanjanje sa kraja), peek (pogled na vrh).

Red: Struktura FIFO (First-In, First-Out). Operacije: enqueue (dodavanje na kraj), dequeue (uklanjanje sa početka), peek (pogled na prvi element).

Drvo: Hijerarhijska struktura podataka. Korijen, čvorovi, potomci. Primer: binarno pretraživačko drvo.

Graf: Skup vrhova (čvorova), povezanih ivicama. Može biti usmeren ili neusmeren, ponderisan ili ne.

Hash tabela: Kolekcija parova ključ-vrednost. Koristi hash funkciju za brzi pristup (prosečno). Moguće kolizije.

Primeri korišćenja u iOS:

  • Nizovi: Array
  • Liste: nema ugrađenu klasu, implementiraju se na osnovu nizova ili prilagođenih struktura
  • Stekovi/Redovi: implementiraju se na osnovu nizova ili listi
  • Drveće: koriste se u okvirima, na primer, u UI (hierarhija prikaza)
  • Grafovi: za predstavljanje veza, na primer, mreža
  • Hash tabele: Dictionary, Set
// Primer niza
let numbers = [1, 2, 3, 4, 5]
print(numbers[0]) // Pristup putem indeksa

// Primer rečnika (hash tabela)
let grades = ["Alice": 95, "Bob": 88]
print(grades["Alice"] ?? 0) // Pristup putem ključa