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: