/**
 * Binary search tree node
 *
 *    data area   --- implemented here as a minimal single integer
 *    height      --- height within the tree of THIS node
 *    size        --- number of nodes in this (sub)tree
 *    util        --- miscellaneous int value, should we every need it
 *    left link   --- left subtree
 *    right link  --- right subtree
 *
 * Access to the fields will be through package-level visibility
 * Access to the fields will be through package-level visibility
 *
 * Author  Timothy Rolfe
 * Version 2009 April 291
 */
class BSTnode
{  int     data;   // Realistic case, this could be quite large
   int     height; // Height of THIS NODE
   int     size;   // Number of nodes in this (sub)tree
   int     util;   // Generic utility area for an int value
   BSTnode left,   // "<" subtree
           right;  // ">" subtree

   BSTnode ( int data ) // Constructor for leaf node
   {  this.data   = data;
      this.height = this.size = 1;
      this.left   = null;
      this.right  = null;
   }
}
