bit dizeleri ele alalım . Tanımlar:nx
- f(x,i) = son bitleri tamamlanmış olarak bit dizesi .xi
- b(x) = arasında "dengesizlik" : içinde 1 sayısı, x - de 0 ların sayısı x .xx −x
Şimdi dizesini düzeltin . G ( i ) = b ( f ( x , i ) ) işlevini düşünün . Gözlemler:xg(i)=b(f(x,i))
- .g(0)=b(x)
- .g(n)=−g(0)
- Tüm i için = 2 . Ya bir 0'ı kaldırırız ve bir 1 ekleriz ya da tam tersini yaparız.|g(i)−g(i+1)|=2i
Şimdi şöyle bir var - 1 ≤ g ( i ) ≤ + 1 .i−1≤g(i)≤+1
Bu nedenle, aşağıdaki gibi bir -bit dizesi y oluşturabiliriz : f ( x , i ) ve i indeksinin ikili kodlamasını birleştirin . Dengesizlik mutlak değeri y olan O ( log n ) . Dahası, y verilen x'i kurtarabiliriz ; haritalama iki yönlüdür.(n+O(logn))yf(x,i)iyO(logn)xy
Son olarak, ekleyebilir arasında dengesizliği azaltmak bit taklit y ile ilgili O ( log n ) için , 0 .O(logn)yO(logn)0