Junior — Middle
Xəritə tipli assosiativ konteynerlərin həyata keçirilməsində açıq ünvanlama prinsipini izah edin.
sobes.tech Süni İntellekt
AI-dan cavab
Açıq ünvanlama, map kimi xəritə cədvəllərində toqquşmaları həll etmək üçün bir metodur. Açar-dəyər cütlüyü əlavə edərkən, hesablanan hash dolu hüceyrəni göstərirsə, boş hüceyrəni tapmaq üçün müəyyən bir ardıcıllıqla (məsələn, xətti və ya kvadrat sınaq) massiv daxilində axtarış aparılır.
Toqquşmalar üçün əlaqəli siyahılar yerinə (zəncirlər), açıq ünvanlama bütün elementləri tək bir massivdə saxlayır və boş olanı tapana qədər qonşu mövqeləri ardıcıl yoxlayır.
Xətti sınaq nümunəsi:
// hash - hash funksiyası
// table - elementləri saxlamaq üçün massiv
// i - cəhd sayı
index := (hash(açar) + i) % len(table)
Bu yanaşma göstəricilər üçün yaddaşı qənaət edir, lakin performansın pisləşməsinin qarşısını almaq üçün cədvəlin yüklənməsini nəzarətdə saxlamaq tələb olunur.