Program Listing for File OptimalSearchTree.h

↰ Return to documentation for file (ADS/optimization/OptimalSearchTree.h)

/*--------------------------------------------------------------------------*/
/*------------------------ File OptimalSearchTree.h ------------------------*/
/*--------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
/*----------------------------- DEFINITIONS --------------------------------*/
/*--------------------------------------------------------------------------*/

#ifndef __ADS_OptimalSearchTree
 #define __ADS_OptimalSearchTree
                      /* self-identification: #endif constant */

/*--------------------------------------------------------------------------*/
/*------------------------------ INCLUDES ----------------------------------*/
/*--------------------------------------------------------------------------*/

#include "ADS/Contract.h"

#include <algorithm>
#include <cstddef>
#include <vector>

/*--------------------------------------------------------------------------*/
/*--------------------------- NAMESPACE ------------------------------------*/
/*--------------------------------------------------------------------------*/

namespace ADS {

template< class T >
struct OptimalSearchTree {
 T cost;
 int root;
 std::vector< int > left;
 std::vector< int > right;
 };

template< class T >
OptimalSearchTree< T > optimalSearchTree( const std::vector< T > & p ,
                                          const std::vector< T > & q );

template< class T >
OptimalSearchTree< T > optimalSearchTree( const std::vector< T > & p );

/*--------------------------------------------------------------------------*/

}  // end( namespace ADS )

/*--------------------------------------------------------------------------*/
/*-------------------------- IMPLEMENTATION --------------------------------*/
/*--------------------------------------------------------------------------*/

#include "ADS/optimization/impl/OptimalSearchTree.tpp"

/*--------------------------------------------------------------------------*/

#endif  /* OptimalSearchTree.h included */

/*--------------------------------------------------------------------------*/
/*---------------------- End File OptimalSearchTree.h ----------------------*/
/*--------------------------------------------------------------------------*/