, , : () < < () . , () . ( ) , .. , ( ). , , , (). ≤ O(h), h . ( ) , O(n), n . , n O(log(n)) , , min n. , , , .. , , .
:
FIND(K) , (key, value) key = K.
INSERT(K,V) (key, value) = (K, V).
REMOVE(K) , (key, value) key = K.
:
- (FIND)
: K.
: , K , , .
:
, , , .
K X.
K=X, .
K>X, K .
K<X, K .
- (INSERT)
: (K,V).
: (K, V) .
:
, ((K,V), null, null) .
K X.
K>=X, (K,V) .
K<X, (K,V) .
- (REMOVE)
: n K.
: K ( ).
:
T , ;
K X n.
K>X, K ;
|
|
K<X, K ;
K=X, .
, ;
, m , , , m;
, m, Right(n); ( ) m n; m.
- (TRAVERSE)
, . INFIX_TRAVERSE f. (K,V), . INFIX_TRAVERSE : , , .
INFIX_TRAVERSE (f) , ( , , ).
PREFIX_TRAVERSE (f) , (, , ).
POSTFIX_TRAVERSE (f) , ( , , ).
INFIX_TRAVERSE:
: f
: f
:
, .
.
f .
.
, f (K,V). INFIX_TRAVERSE . PREFIX_TRAVERSE, , , . -
: < K 0 ≥ K 0. -
: , < K 0, ≥ K 0. . : T 1 () T 2 (). , : T 1 T 2. , :
(. ), .
(T1, T2)
T1 , T2
T2 , T1
T1,
T = (T1., T2)
T1. = T
T1
T = (T1, T2.)
T2. = T
T2