Sobes.tech
Junior — Middle

Објасните принцип отворене адресације у реализацији асоцијативних контејнера типа map.

sobes.tech АИ

Одговор од АИ

Otvorena adresacija je metoda za rešavanje kolizija u hash tabelama, kao što je map. Prilikom dodavanja para ključ-vrednost, ako izračunati hash ukazuje na zauzetu ćeliju, pretraga slobodne ćelije vrši se unutar niza po određenoj sekvenci (npr. linearno ili kvadratno sondiranje).

Umesto korišćenja povezanih listi za kolizije (lanaca), otvorena adresacija čuva sve elemente unutar jednog niza, redom proveravajući susedne pozicije dok ne pronađe praznu.

Primer linearnog sondiranja:

// hash - funkcija heširanja
// table - niz za čuvanje elemenata
// i - broj pokušaja
index := (hash(ključ) + i) % dužina(table)

Ovaj pristup štedi memoriju na pokazivačima, ali zahteva kontrolu opterećenja tabele kako bi se izbeglo pogoršanje performansi.