Bir İlişkilendirme Dizisi Nedir?
Karma tablosu veya karma haritası olarak da adlandırılan
ilişkisel bir dizi, dizinin indisi bir tam sayı yerine bir dize dışında bir
standart diziye benzer. Birçok veritabanı uygulamasında ve büyük miktarda veri
ile ilgilenen diğer programlarda, ilişkilendirici bir dizi, düşük faizli araç kredisibilgileri
verimli bir şekilde sıralamaya ve bilgiye erişmeye yardımcı olan önemli bir
unsurdur. İlişkilendirilebilir bir dizinin özünde, normalde olduğu gibi
tamsayılarla dizilmiş standart bir dizidir. Karma işlevi olarak adlandırılan
özel bir algoritma, değeri bulmak için dize dizinini bir tamsayı dizinine
dönüştürür. Bu tutarlı bir dönüşümdür, dolayısıyla gerçek tamsayı indeksinin
saklanması gerekmez, bunun yerine her zaman gerektiği gibi dizeden hesaplanır.
Bir ilişkisel diziye başvururken kullanılan terminoloji,
normal bir diziden bahsederken kullanılandan biraz farklı olabilir. Normalde
bir indeks olarak adlandırılan - bir dizinin bir dizinin sayısal konumu -
anahtar olarak adlandırılır. Anahtarla ilişkilendirilen verilere değer denir.
Bu, bir ilişkisel dizi içinde, bir anahtarın, veri yapısındaki standart bir
dizideki bir öğeye referans veren bir indekle ilişkili olan bir değer ile
ilişkili olduğu anlamına gelir .
Her ilişkilendirici dizinin kalbinde karma işlevi vardır.
Bu, tuşa dayalı bir değerin sayısal endeksini belirlemek için kullanılan bir
algoritmadır. Bazıları, tamsayı olan ve bazılarının dizeler üzerinde çalışmak
üzere tasarlanan bazı anahtarlarda çalışacak şekilde tasarlanmış çeşitli karma
işlevleri vardır. Bir tamsayı anahtarı durumunda, popüler bir yöntem, anahtar
değerini dizinin büyüklüğüne bölmek ve umarız, benzersiz bir dizin değeri elde
etmek için bölümün kalanını kullanmaktır.
Karma işlevi, dizeleri olan anahtarlar için çok daha
karmaşık olabilir. Bazı yöntemler dizgede her bir karakterin sayısal değerini
eklemek ve daha sonra bir sayıya bölmek veya benzersiz bir sayı elde etmek için
dizenin yalnızca ilk birkaç karakterini kullanmaktır. Bir karakter dizisinden
bir sayı elde etmenin birçok yolu vardır.
İlişkisel bir dizide büyük miktarda anahtar-değer çiftleri
ile uğraşırken ortaya çıkabilecek bir problem çarpışma olarak adlandırılır. Bir
anahtardan türetilen tamsayı indeksi, başka bir anahtarın tamsayı diziniyle
aynı olduğunda çarpışma olur. Bu iki anahtar daha sonra, değer dizisinde aynı
dizine etkili bir şekilde işaret eder. Çarpışmaya çeşitli çözümler vardır,
çünkü çoğu pratik uygulamada yüksek bir olasılık olma olasılığı vardır.
Çarpışmanınfaizsiz evlilik kredisi bir çözümü, her bir değer endeksinin
aslında bir bağlantılı liste olması, böylece birden fazla anahtarın bu indeks
konumuna çözüldüğü zaman, konumun birden fazla değer tutabileceğidir. Buna
zincirleme denir ve bir çarpışmayı ele almanın basit bir yoludur, ancak
bilgileri almak için gereken süreyi de yavaşlatabilir. Bir çarpışma ile uğraşmanın
başka bir yöntemine doğrusal tarama denir. Bir çarpışma olduğunda, doğrusal
tarama, kullanılmayan bir dizin bulunana kadar değer dizisinden geçerek
çalışır. Bu çözüm, verilerin ilişkisel dizide eşit olarak dağıtılmasına
yardımcı olabilir, ancak aynı zamanda bir değere bakmak için gereken süreyi de
arttırabilir.
Yorumlar
Yorum Gönder