, , O(n2), (Ki, Kj); , . 1964 . . , . .
, -, . , 8-, 4-, 2- 1-, . , , , . . 26.
. 26. ( )
. t=[logN] ( ). d , K[i] K[i+d]. <-> .
, , , , , . : / , . [lgN]([lgN] + 1)/2 , . , 1024 55 .
T-1
p = 2
T-1
╔═>q = 2; r=0; d=p;
║
║ ╔═══<════════════════════════════════════<══════╗
║ for i=0 to N-d-1 , i&p = r; ║
║ ┌────────────────────────────────────────┐ ║
║ │if(K[i+1] > K[i+d+1]) K[i+1]<->K[i+d+1] │ ║
║ └────────────────────────────────────────┘ ║
|
|
║ if(q=p) ║
║ then ║ else ║
║ ╔════<════╩════>═════════════════════════╗ ║
║ ║ ║ ║
║ p=[p/2];( ) d=q-p; ║
║ if(p<=0) ; q=q/2; ║
║ else═>╗ r=p; ║
╚═══════╝ ╚═══>══╝
40 , , , .
"--". :
1. a[i],
2. , , , a[i], , , , a[i] . , :
.
3. : , .
O(N log N) . O(n2) . , .