... , :
, 2D- . , A [i] [j] x = y = j. , , :
p1 < p2 , :
- (x- p1) < (x- p2)
- (x- p1) = (x- p2) (y- p1) < (y- p2)
p1 >= p2.
, 2D-, 2- 1- . ( ).
:
- A [i] [j] > A [k] [j] , (i > k). ( )
- A [i] [j] > A [i] [k] , (j > k). ( )
, N M . () 2D- 1D-, (T- ):
for i:=0 to N-1 do
for j:=0 to M-1 do
T[i*N + j]:= A[i][j];
1D . . , .
2D-, :
for i:=0 to N*M-1 do
A[i div N][i - (i div N)*N]:= T[i];
:
x- ( ), y- ( ) .
, mid = mid + (max - min) div 2 A [mid] [0] ( x), , ( [mid]).
:
- : log (N * M)
- 2D-: log (N) ( ) + log (M) ( ).
, : log (N) + log (M) = log (N * M).
, , , .
, , 1-D ( ).