Feragatname: Levenshtein kodlaması, Levenshtein düzenleme mesafesi metriğiyle tamamen ilgisizdir .
<Levenshtein kodlarının neden burada hesaplanması gerektiği hakkında uzun bir hikaye ekleyin.>
Kod
Levenshtein kodlaması , bu zorlukla alakalı olmayan bazı tuhaf özellikleri elinde tutan negatif olmayan tam sayılara ikili kodlar atama sistemidir. Bu kodu L ( n ) olarak göstereceğiz . Wikipedia bunu beş adımlı bir süreç olarak tanımlıyor:
- Adım sayısı değişkeni C'yi 1'e başlatın .
1Kodun başına gitmeden sayının ikili temsilini yazın .- M , 2. adımda yazılan bit sayısı olsun .
- Eğer M 0 değildir, artım Cı ile basamak 2'den elde edilen tekrar M yeni numara.
- Kodun başına C
1bitleri ve a yazın0.
Ancak, kod yinelemeli olarak da açıklanabilir:
- Sayı 0 ise, kodu
0. 1Kodun başına gitmeden sayının ikili temsilini yazın .- M , 2. adımda yazılan bit sayısı olsun .
- Kodun başına L ( M ) yazın .
1Kodun başına biraz yazın .
Örnekleri tercih edenler için, L (87654321) için
birleştirmeyi belirten özyinelemeli süreç şöyledir :

Meydan okuma
N sayısı verildiğinde bit dizgisini L ( n ) herhangi bir makul biçimde veren bir program veya işlev yazın (bu, söz konusu bitlerle bir sayının döndürülmesini içerir). Standart boşluklar her zaman olduğu gibi izin verilmez.
Örnekler
Giriş: 5
Çıktı: 1110001
Giriş: 30
Çıktı: 111100001110
Giriş: 87654321
Çıktı: 111110000101001001110010111111110110001
Giriş: 0
Çıktı: 0
±bir fonksiyon yerine tekli bir operatör tanımlayarak birkaç bayt kaydedebilirsinizf.