Section Header
  
  
    + name := AVL_DICTIONARY[V, K];
  
  
    - comment := "Associative memory. Values of type `V' are stored using Keys of type `K'.";
	
  
 Efficient implementation of DICTIONARY using an AVL balanced tree. 
  
 AVL stands for the names of G. M. Adel'son-Velskii and E. M. Landis, 
  
 two Russian mathematicians who first came up with this method of keeping 
  
 the tree balanced.
Section Insert
  
  
    + parent_avl_tree:Expanded AVL_TREE[K];
Section Inherit
  
  
    + parent_simple_dictionary:Expanded SIMPLE_DICTIONARY[V, K];
  
Section Public
  
  
    - capacity:INTEGER <- 
  
    - at k:K :V <- 
  
  
    - fast_at k:K :V <- 
  
  
    - reference_at k:K :V <-
  
  
    - fast_reference_at k:K :V <-
    
  
    - put v:V to k:K <- 
  
  
    - add v:V to k:K <-
  
  
    - fast_put v:V to k:K <-
  
  
    - occurrences v:V :INTEGER <-
  
  
    - fast_occurrences v:V :INTEGER <-
  
  
    - key_at v:V :K <- 
		
  
    - fast_key_at v:V :K <- 
  
    - clear_count <- 
  
    - clear_count_and_capacity <-
  
  
    - item i:INTEGER :V <-
  
  
    - key index:INTEGER :K <-
  
  
    - internal_key k:K :K <- 
  
  
    - make <-