Junior
Hash cədvəli nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Hash cədvəli, əlaqəli massiv (sözlük) həyata keçirən məlumat quruluşudur. O, "açar-dəyər" cütlərini saxlayır, burada açarlar unikal olur.
Əsas prinsiplər:
- Hash funksiyası: Açarı ədədlə (hash kodu və ya indeks) dəyişir. Bu indeks, dəyərin saxlanma yerini göstərir (kassə).
- Array (kassələr): Əsl "açar-dəyər" cütlərinin saxlanması.
- Çatışmazlıqlar: Müxtəlif açarların eyni hash kodunu yaratdığı vəziyyət.
Çatışmazlıqların həlli:
- Zəncir metodu (Separate chaining): Hər kassədə, eyni hash koduna malik elementlərin siyahısı (və ya başqa məlumat quruluşu) saxlanılır.
- Açıq ünvanlama (Open addressing): Çatışma zamanı, müxtəlif strategiyalar (xətti sondalama, kvadrat sondalama, cüt hash) istifadə edilərək boş kassə axtarılır.
Xüsusiyyətlər:
- Tez giriş: İdeal halda O(1) əlavə etmə, axtarış və silmə əməliyyatları üçün.
- Hash funksiyasına bağlılıq: Hash funksiyasının keyfiyyəti və çatışmazlıqların həlli strategiyası performansa çox təsir edir.
- Yaddaş istifadəsi: Əlavə yaddaş tələb edir, kassələr üçün.
QA-da istifadəsi:
- Test məlumatlarının saxlanması (açar - parametr adı, dəyər - gözlənilən və ya faktiki dəyər).
- Elementlərin unikal olub-olmadığının yoxlanması (məsələn, istifadəçi ID-ləri).
- Keşlərin tətbiqi.