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 ----------------------*/
/*--------------------------------------------------------------------------*/