The BinaryTree class Samo-vyvazujici se binarni strom, kde hodnoty jsou ulozeny pouze ve vnitrnich uzlech (uzly krom listu).
...
#include <red_black_tree.h>
|
enum | Color_t { RED = ::Color_t::RED,
BLACK = ::Color_t::BLACK
} |
| The Color_t enum Barva uzlu stromu. ...
|
|
typedef ::Node_t | Node_t |
| The Node_t struct Struktura uzlu stromu.
|
|
|
| BinaryTree () |
| BinaryTree Konstruktor prazdneho binarniho stromu.
|
|
| ~BinaryTree () |
| BinaryTree Destruktor binarniho stromu, odstrani vsechny uzly v nem obsazene.
|
|
std::pair< bool, Node_t * > | InsertNode (int key) |
| InsertNode Pokusi se vlozit novy uzel s hodnotou "key", nebo nalezne jiz existujici uzel s touto hodnotou (hodnoty uzlu musi byt unikatni). ...
|
|
void | InsertNodes (const std::vector< int > &keys, std::vector< std::pair< bool, Node_t * > > &outNewNodes) |
| InsertNodes Pokusi se vlozit uzly ze seznamu "keys", nebo nalezne, ty ktere jiz existuji. ...
|
|
bool | DeleteNode (int key) |
| DeleteNode Pokusi se odstranit uzel s hodnotou "key". ...
|
|
Node_t * | FindNode (int key) const |
| FindNode Pokusi se nalezt uzel s hodnotou "key". ...
|
|
void | GetLeafNodes (std::vector< Node_t * > &outLeafNodes) |
| GetLeafNodes Projde cely strom a sestavi pole listovych uzlu, ktere nemaji potomky. ...
|
|
void | GetAllNodes (std::vector< Node_t * > &outAllNodes) |
| GetAllNodes Projde cely strom a sestavi pole ukazatelu na vsechny uzly ve stromu. ...
|
|
void | GetNonLeafNodes (std::vector< Node_t * > &outNonLeafNodes) |
| GetNonLeafNodes Projde cely strom a sestavi pole ukazatelu na vsechny NE-listove uzly stromu (tedy s alespon 1 potomkem). ...
|
|
Node_t * | GetRoot () |
| GetRoot. ...
|
|
The BinaryTree class Samo-vyvazujici se binarni strom, kde hodnoty jsou ulozeny pouze ve vnitrnich uzlech (uzly krom listu).
Automaticke vyvazovani stromu je umozneno rozdelenim uzlu do dvou mnozin (cervene a cerne).
◆ Color_t
The Color_t enum Barva uzlu stromu.
Mimo tridu BinaryTree dostupne jako: "BinaryTree::RED".
◆ DeleteNode()
bool BinaryTree::DeleteNode |
( |
int |
key | ) |
|
|
inline |
DeleteNode Pokusi se odstranit uzel s hodnotou "key".
- Parametry
-
key | Hodnota uzlu, ktery ma byt odstranen. |
- Návratová hodnota
- Vraci true, pokud je uzel nalezen a odstranen, jinak false.
◆ FindNode()
Node_t* BinaryTree::FindNode |
( |
int |
key | ) |
const |
|
inline |
FindNode Pokusi se nalezt uzel s hodnotou "key".
- Parametry
-
key | Hodnota hledaneho uzlu |
- Návratová hodnota
- Vraci ukazatel na nalezeny uzel, nebo NULL, pokud takovy uzel neni nalezen.
◆ GetAllNodes()
void BinaryTree::GetAllNodes |
( |
std::vector< Node_t * > & |
outAllNodes | ) |
|
|
inline |
GetAllNodes Projde cely strom a sestavi pole ukazatelu na vsechny uzly ve stromu.
- Parametry
-
outAllNodes | Pole naplnene ukazateli na uzly ve stromu (pole je nejdrive vyprazdneno). |
◆ GetLeafNodes()
void BinaryTree::GetLeafNodes |
( |
std::vector< Node_t * > & |
outLeafNodes | ) |
|
|
inline |
GetLeafNodes Projde cely strom a sestavi pole listovych uzlu, ktere nemaji potomky.
- Parametry
-
outLeafNodes | Pole naplnene ukazateli na listove uzly (pole je nejdrive vyprazdneno). |
◆ GetNonLeafNodes()
void BinaryTree::GetNonLeafNodes |
( |
std::vector< Node_t * > & |
outNonLeafNodes | ) |
|
|
inline |
GetNonLeafNodes Projde cely strom a sestavi pole ukazatelu na vsechny NE-listove uzly stromu (tedy s alespon 1 potomkem).
- Parametry
-
outNonLeafNodes | Pole naplnene ukazateli na NE-listove uzly ve stromu (pole je nejdrive vyprazdneno). |
◆ GetRoot()
Node_t* BinaryTree::GetRoot |
( |
| ) |
|
|
inline |
GetRoot.
- Návratová hodnota
- Vraci ukazatel na korenovy uzel stromu, nebo NULL, pokud je strom prazdny.
◆ InsertNode()
std::pair<bool, Node_t *> BinaryTree::InsertNode |
( |
int |
key | ) |
|
|
inline |
InsertNode Pokusi se vlozit novy uzel s hodnotou "key", nebo nalezne jiz existujici uzel s touto hodnotou (hodnoty uzlu musi byt unikatni).
- Parametry
-
key | Nova hodnota vkladana do stromu. |
- Návratová hodnota
- Vraci dvojici (true, ukazatel na novy uzel), pokud uzel jeste neexistoval, nebo (false, ukazatel na existujici uzel), pokud uzel s danou hodnotou jiz existuje.
◆ InsertNodes()
void BinaryTree::InsertNodes |
( |
const std::vector< int > & |
keys, |
|
|
std::vector< std::pair< bool, Node_t * > > & |
outNewNodes |
|
) |
| |
|
inline |
InsertNodes Pokusi se vlozit uzly ze seznamu "keys", nebo nalezne, ty ktere jiz existuji.
- Parametry
-
keys | Seznam klicu, ktere maji byt vlozeny do stromu. |
outNewNodes | Vystupni pole ktere pro kazdou hodnotu v "keys" obsahuje dvojici (true, ukazatel na novy uzel), pokud byl uzel vlozen jako novy, nebo (false, ukazatel na extistujici uzel), pokud uzel s danou hodnotou jiz existuje. |
Dokumentace pro tuto třídu byla generována z následujícího souboru: