Yazan : Şadi Evren ŞEKER
Hamming mesafesi bilgisayar bilimlerinde aynı uzunluktaki iki dizgi (string) arasında, birbirine dönüşmesi için gerekli olan yer değiştirme sayısını verir. Yani basitçe bir dizginin diğer dizgiden ne kadar farklı olduğunu gösterir.
Örneğin aşağıda bazı dizgiler arasındaki hamming mesafesi verilmiştir:
100011101 <-> 100101101 = 2
düğün <-> düşün = 1
Bu durum bir küp şeklinde düşünülebilir. Örneğin 3 ikillik (bit) bir sayısının hamming mesafesi aşağıdaki küpte gösterilmiştir:
Yukarıdaki şekilde dikkat edilirse küpün 8 köşesine 3 ikillik(bit) sayının alabileceği her ihtimal yazılmıştır. Bu ihtimaller arasında geçiş için gereken değiştirme miktarı hep 1’dir dolayısıyla bu küp hamming mesafesini gösteren bir küp olarak düşünülebilir.
Örneğin 010 sayısının 111 sayısına dönüşmesi küp üzerinde iki mesafe gerektirmektedir ve iki ayrı yoldan (011 veya 110) üzerinden uaşılabilmektedir.
hocam teşekkür ederim…çok faydalı oldu benim için…
kaç yere baktım sonunda burdan anladım teşekkürler.
dizilerde hamming uzaklığında sızde bılıyorsunuz ki aynı iki ayrı dizideki aynı indexteki sayılar birbiriyle karsılastırılıp farklı iseler sayac 1 arttırılır.Ben kodu boyle yazdım ama sonuc hep 9 veriyor sizce buradaki kodda hatam nedir?
Diziler bir kere hafızada malloc ile tanımlandıktan sonra içerisine veri okunur, döngünün her adımında yeniden malloc yaptığınız için dizinin içindeki bilgiler sıfırlanıyor. Dizilerin boyutu ön tanımlı olduğu için malloc ile dinamik hafıza ayırma işlemine gerek yoktur, aşağıda dizinin doğru kullanımını veriyorum ayrıca yorum olarak malloc kullanılması durumu da bulunuyor.
Başarılar