Prakticke aspekty vývoje softwaru: Projekt 1 – Testování  1.0
Projekt zaměřený na osvojení praktik testování včetně technik test driven development, black box testing a white box testing.
Veřejné typy | Veřejné metody | Chráněné atributy
Dokumentace třídy BinaryTree

The BinaryTree class Samo-vyvazujici se binarni strom, kde hodnoty jsou ulozeny pouze ve vnitrnich uzlech (uzly krom listu). ...

#include <red_black_tree.h>

Diagram tříd pro BinaryTree:
Collaboration graph
[vysvětlivky]

Veřejné typy

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.
 

Veřejné metody

 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_tFindNode (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_tGetRoot ()
 GetRoot. ...
 

Chráněné atributy

Node_tm_pRoot
 Ukazatel na koren stromu.
 

Detailní popis

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).

Dokumentace k členským výčtům

◆ Color_t

The Color_t enum Barva uzlu stromu.

Mimo tridu BinaryTree dostupne jako: "BinaryTree::RED".

Dokumentace k metodám

◆ DeleteNode()

bool BinaryTree::DeleteNode ( int  key)
inline

DeleteNode Pokusi se odstranit uzel s hodnotou "key".

Parametry
keyHodnota 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
keyHodnota 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
outAllNodesPole 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
outLeafNodesPole 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
outNonLeafNodesPole 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
keyNova 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
keysSeznam klicu, ktere maji byt vlozeny do stromu.
outNewNodesVystupni 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: