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