 Dynamic tree data structure operations

   Based on Sleator, Tarjan : Self-Adjusting Binary Search Trees
   JACM Vol. 32., No. 3, July 1985 pp.652-686 
   
   Slight difference: The Real roots have only middle children,
   so that infinite value on the root can be handled.

   Implemented by 
   Tamas Badics, 1991, 
   Rutgers University, RUTCOR
   P.O.Box 5062
   New Brunswick, NJ, 08901
 
  e-mail: badics@rutcor.rutgers.edu

/**********************************************************
  Usage of the dynamic tree routines:

  The main purpose of using this data structure is to deal with
  trees of any type of objects with a value associated with them. 
  See the literature! (linking-cutting trees)
  
  The user need only the dyn_tree.h header file and the object
  files which can be created with the enclosed makefile.
  All the other sourcefiles could be referred to as a black box.

  So the first step is to make the objects with gcc.
  (type make dyn_tree)
  
  After this you can use the functions described in dyn_tree.h
***********************************************************  

  If you find this program useful and worth to work with,
  or if you have any questions, suggestions or bugs found,
  please write it to me and I am happy to answer.
  
  Tamas Badics, 1991
