Sobes.tech
Junior — Middle

Jak określa się czas wykonania operacji dodania elementu po kluczu do struktury danych Map?

sobes.tech AI

Odpowiedź od AI

W Go struktura danych map jest zaimplementowana jako tablica mieszająca. Czas wykonania operacji dodania elementu po kluczu do map wynosi średnio O(1) — czas stały, ponieważ polega na obliczeniu funkcji hash klucza i wstawieniu go do odpowiedniego kosza.

Jednak w najgorszym przypadku, gdy występuje wiele kolizji (kilka kluczy ma ten sam hash), czas może się pogorszyć do O(n), gdzie n to liczba elementów w koszu. Ale dzięki dobrej dystrybucji hashy i dynamicznemu rozszerzaniu tabeli, takie przypadki są rzadkie.

Przykład dodania elementu do map:

m := make(map[string]int)
m["key"] = 42 // operacja dodania wykonywana jest w amortyzowanym czasie O(1)