Sobes.tech
Junior — Middle

Kas saaksite selgitada sõnastiku sisemist struktuuri ja tööd programmeerimises?

sobes.tech AI

Vastus AI-lt

Sõnastik (dictionary) on andmestruktuur, mis salvestab võtme-väärtuse paare ning tagab kiire juurdepääsu väärtustele võtme kaudu.

iOS-is (Swift) on sõnastik rakendatud kui Dictionary<Key, Value>. Sisemiselt põhineb sõnastik tavaliselt hash-tabelil:

  • Võti muudetakse hash-koodiks hash-funktsiooni abil.
  • Hash-koodit kasutatakse positsiooni määramiseks massiivis (ämbris).
  • Kui ämbris on juba elemente (kokkupõrge), kasutatakse kokkupõrgete lahendamise meetodit (näiteks ahelamine või avatud aadressimine).

See tagab keskmise keerukuse operatsioonidele nagu sisestamine, kustutamine ja otsing umbes O(1).

Swiftis näide sõnastiku kasutamisest:

var dict: [String: Int] = [:]
dict["apple"] = 3
dict["banana"] = 5

if let count = dict["apple"] {
    print("Õunte arv: \(count)")
}

Seega võimaldab sõnastik tõhusalt salvestada ja saada andmeid võtme kaudu.