Page 152 - DCAP605_ADVANCED_DATA_STRUCTURE_AND_ALGORITHMS
P. 152

Unit 6: Binary Search Tree and AVL Trees





          // void printTree( )      --> Print tree in sorted order                              Notes
          // ******************ERRORS********************************
          // Throws UnderflowException as warranted
          template <typename Comparable>
          class AvlTree
          {
            public:
              AvlTree( ) : root( NULL )
                { }
              AvlTree( const AvlTree & rhs ) : root( NULL )
              {
                  *this = rhs;
              }


              ~AvlTree( )
              {
                  makeEmpty( );
              }


              /**
               * Find the smallest item in the tree.
               * Throw UnderflowException if empty.
               */
              const Comparable & findMin( ) const
              {
                  if( isEmpty( ) )
                      throw UnderflowException( );
                  return findMin( root )->element;
              }


              /**
               * Find the largest item in the tree.
               * Throw UnderflowException if empty.
               */
              const Comparable & findMax( ) const
              {
                  if( isEmpty( ) )
                      throw UnderflowException( );
                  return findMax( root )->element;
              }




                                           LOVELY PROFESSIONAL UNIVERSITY                                   147
   147   148   149   150   151   152   153   154   155   156   157