Elementlərin axtarışında hash cədvəllərində toqquşmalar necə işlənir?
sobes.tech Süni İntellekt
AI-dan cavab
Hash cədvəllərində elementləri axtararkən, müxtəlif açarların eyni hash dəyərinə malik olması halında toqquşmalar baş verir. Toqquşmaları idarə etmək üçün müxtəlif metodlar istifadə olunur:
-
Zəncir metodu (chaining): hər cədvəlin hər yuvası, eyni hash-ə malik elementlərin əlaqəli siyahısını ehtiva edir. Toqquşma zamanı, yeni element siyahıya əlavə olunur.
-
Açıq ünvanlama: toqquşma baş verdikdə, müəyyən bir ardıcıllıqla növbəti boş yuva axtarılır (xətti, kvadrat, cüt hash).
Go-nun daxili xəritə tətbiqi, optimallaşdırılmış zəncir metodundan istifadə edir. Toqquşma baş verdikdə, eyni hash-ə malik elementlər bucket-lər daxilində əlaqəli siyahılarda saxlanılır. Bu, elementləri səmərəli axtarmağa, əlavə etməyə və silməyə imkan verir.
Sadə məntiq nümunəsi:
- Açarın hash dəyəri hesablanır.
- Hash əsasında bucket indeksi müəyyən edilir.
- Əgər bucket boşdursa, element əlavə olunur.
- Əgər bucket doludursa, əlaqəli siyahı boyunca axtarış aparılır və ya yeni element əlavə edilir.
Bu yanaşma, giriş sürətini və yaddaşın səmərəli istifadəsini balanslaşdırır.