rs_tree.h
上传用户:gzelex
上传日期:2007-01-07
资源大小:707k
文件大小:1k
开发平台:

MultiPlatform

  1. /*******************************************************************************
  2. +
  3. +  LEDA-R  3.2.3
  4. +
  5. +  rs_tree.h
  6. +
  7. +  Copyright (c) 1995  by  Max-Planck-Institut fuer Informatik
  8. +  Im Stadtwald, 66123 Saarbruecken, Germany     
  9. +  All rights reserved.
  10. *******************************************************************************/
  11. #ifndef LEDA_RS_TREE_H
  12. #define LEDA_RS_TREE_H
  13. //------------------------------------------------------------------------------
  14. //
  15. // rs_tree:  
  16. //
  17. //           randomized search trees (derived from class "bin_tree")
  18. //
  19. // Stefan N"aher (1993)
  20. //
  21. //------------------------------------------------------------------------------
  22. #include <LEDA/basic.h>
  23. #include <LEDA/impl/bin_tree.h>
  24.  
  25. typedef bin_tree_node* rs_tree_item;
  26.  
  27. //-----------------------------------------------------------------
  28. // class rs_tree
  29. //-----------------------------------------------------------------
  30. class rs_tree : public bin_tree
  31.   int root_balance() { return rand_int.get(); }
  32.   int node_balance() { return rand_int.get(); }
  33.   int leaf_balance() { return 0; }
  34.   void insert_rebal(rs_tree_item);
  35.   void del_rebal(rs_tree_item, rs_tree_item);
  36. public:
  37.  rs_tree() {}
  38. ~rs_tree() {}
  39.  rs_tree(const rs_tree& T) : bin_tree(T) {}
  40.  rs_tree& operator=(const rs_tree& T) { bin_tree::operator=(T); return *this; }
  41. };
  42. #endif