Junior — Middle
Оё метавонед принсипи кориравии хешгироиро дар иҷрои харита (Map)-ро шарҳ диҳед?
sobes.tech AI
Ҷавоб аз AI
Барои дар Go, харита (map) ҳамчун ҷадвали хешкорӣ татбиқ мешавад, ки дар он калидҳо бо истифода аз функсияи хеш ба арзишҳои хеш табдил дода мешаванд. Принсипи кории хешгирӣ дар харита чунин аст:
- Барои калиди додашуда, кодекси хеш ҳисоб карда мешавад — арзиши рақамӣ, ки аз мундариҷаи калид вобаста аст.
- Кодекси хеш барои муайян кардани индекс дар массиви контейнерҳо (себҳо), ки дар он арзиш нигоҳ дошта мешавад, истифода мешавад.
- Агар дар як контейнер чанд элемент бошад (ҷанҷол), ҷустуҷӯ тавассути занҷир ё механизми дигар барои ҳалли ҷанҷолҳо анҷом дода мешавад.
Ин имкон медиҳад, ки элементҳоро бо суръат пайдо кардан, илова кардан ва хориҷ кардан бо камбуди амортизатсияшудаи тақрибан O(1).
Маслиҳат барои истифодаи харита дар Go:
m := make(map[string]int)
m["apple"] = 5
value := m["apple"] // value == 5
Дар ин мисол, сатр "apple" хеш карда мешавад ва арзиши 5 дар контейнери дахлдор нигоҳ дошта мешавад.