MeshKit
1.0
|
#include <BinaryTree.hpp>
Public Member Functions | |
BinaryTree (DualGraph *g) | |
~BinaryTree () | |
void | setTreeType (int t) |
void | build (BinaryNode *r=NULL) |
BinaryNode * | getRoot () const |
void | removeNode (BinaryNode *node) |
void | addNode (BinaryNode *tnode) |
void | unlinkNode (BinaryNode *node) |
bool | isMatched (const BinaryNode *u, const BinaryNode *v) const |
const BNodeList & | getLevelNodes (int l) const |
int | getHeight () const |
size_t | getSize () const |
void | clear () |
void | deleteAll () |
void | relinkAll () |
void | saveAs (const string &s) |
Static Public Attributes | |
static const int | BREADTH_FIRST_TREE = 0 |
static const int | DEPTH_FIRST_TREE = 1 |
Private Types | |
typedef std::map< Vertex *, BinaryNode * > | TNodeMap |
Private Member Functions | |
void | bfs_traverse (BinaryNode *parent, BNodeList &nextnodes) |
void | bfs_traverse (BinaryNode *parent) |
void | dfs_traverse (BinaryNode *parent) |
void | dfs_traverse (BinaryNode *parent, BNodeList &nextnodes) |
Private Attributes | |
DualGraph * | dgraph |
BinaryNode * | root |
BNodeList | emptylist |
ObjectPool< BinaryNode > | pool |
int | treetype |
TNodeMap | tnodemap |
std::map< int, BNodeList > | levelnodes |
Definition at line 180 of file BinaryTree.hpp.
typedef std::map<Vertex*, BinaryNode*> TNodeMap [private] |
Definition at line 272 of file BinaryTree.hpp.
BinaryTree | ( | DualGraph * | g | ) | [inline] |
Definition at line 186 of file BinaryTree.hpp.
~BinaryTree | ( | ) | [inline] |
Definition at line 191 of file BinaryTree.hpp.
void addNode | ( | BinaryNode * | tnode | ) | [inline] |
Definition at line 215 of file BinaryTree.hpp.
void bfs_traverse | ( | BinaryNode * | parent, |
BNodeList & | nextnodes | ||
) | [private] |
Definition at line 54 of file BinaryTree.cpp.
void bfs_traverse | ( | BinaryNode * | parent | ) | [private] |
Definition at line 138 of file BinaryTree.cpp.
void build | ( | BinaryNode * | r = NULL | ) |
Definition at line 164 of file BinaryTree.cpp.
void clear | ( | ) |
Definition at line 17 of file BinaryTree.cpp.
void deleteAll | ( | ) |
Definition at line 7 of file BinaryTree.cpp.
void dfs_traverse | ( | BinaryNode * | parent | ) | [private] |
Definition at line 124 of file BinaryTree.cpp.
void dfs_traverse | ( | BinaryNode * | parent, |
BNodeList & | nextnodes | ||
) | [private] |
Definition at line 86 of file BinaryTree.cpp.
int getHeight | ( | ) | const |
Definition at line 35 of file BinaryTree.cpp.
const BNodeList & getLevelNodes | ( | int | l | ) | const |
Definition at line 152 of file BinaryTree.cpp.
BinaryNode* getRoot | ( | ) | const [inline] |
Definition at line 201 of file BinaryTree.hpp.
size_t getSize | ( | ) | const |
Definition at line 48 of file BinaryTree.cpp.
bool isMatched | ( | const BinaryNode * | u, |
const BinaryNode * | v | ||
) | const [inline] |
Definition at line 227 of file BinaryTree.hpp.
void relinkAll | ( | ) |
Definition at line 24 of file BinaryTree.cpp.
void removeNode | ( | BinaryNode * | node | ) | [inline] |
Definition at line 207 of file BinaryTree.hpp.
void saveAs | ( | const string & | s | ) |
Definition at line 234 of file BinaryTree.cpp.
void setTreeType | ( | int | t | ) | [inline] |
Definition at line 195 of file BinaryTree.hpp.
void unlinkNode | ( | BinaryNode * | node | ) | [inline] |
Definition at line 219 of file BinaryTree.hpp.
const int BREADTH_FIRST_TREE = 0 [static] |
Definition at line 183 of file BinaryTree.hpp.
const int DEPTH_FIRST_TREE = 1 [static] |
Definition at line 184 of file BinaryTree.hpp.
Definition at line 262 of file BinaryTree.hpp.
Definition at line 264 of file BinaryTree.hpp.
std::map<int, BNodeList> levelnodes [private] |
Definition at line 276 of file BinaryTree.hpp.
ObjectPool<BinaryNode> pool [private] |
Definition at line 265 of file BinaryTree.hpp.
BinaryNode* root [private] |
Definition at line 263 of file BinaryTree.hpp.
Definition at line 274 of file BinaryTree.hpp.
int treetype [private] |
Definition at line 267 of file BinaryTree.hpp.