Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
RandomTreeFactory.h 801 B
/*
 * RandomTreeFactory.h
 *
 *  Created on: 18. 3. 2015
 *	  Author: Stepan Plachy
 */

#ifndef RANDOM_TREE_FACTORY_H_
#define RANDOM_TREE_FACTORY_H_

#include <deque>
#include <set>
#include <climits>

#include <exception/AlibException.h>
#include <alphabet/RankedSymbol.h>
#include <alphabet/LabeledSymbol.h>
#include <tree/ranked/RankedTree.h>
#include <tree/unranked/UnrankedTree.h>

namespace tree {

namespace generate {

class RandomTreeFactory {
public:
	static tree::RankedTree generateRankedTree(int depth, int nodesCount, int maxAlphabetSize, int maxRank = INT_MAX);
	static tree::UnrankedTree generateUnrankedTree(int depth, int nodesCount, int maxAlphabetSize, int maxRank = INT_MAX);

private:
};

} /* namespace generate */

} /* namespace tree */

#endif /* RANDOM_TREE_FACTORY_H_ */