#include <tpl_tree_node.H>
Tipos públicos | |
| typedef T | key_type |
| Tipo de dato genérico que contiene el nodo. | |
Métodos públicos | |
| T & | get_key () |
| retorna referencia modificable al contenido del nodo. | |
| T & | get_data () |
| retorna referencia modificable al contenido del nodo. | |
| Dlink * | get_child_list () |
| Dlink * | get_sibling_list () |
| bool | is_root () const |
| Retorna true si this es la raíz del árbol general. | |
| bool | is_leaf () const |
| Retorna true si this es un nodo hoja. | |
| bool | is_leftmost () const |
| Retorna true si this es el nodo más a la izquierda de sus hermanos. | |
| bool | is_rightmost () const |
| Retorna true si this es el nodo más a la derecha de sus hermanos. | |
| void | set_is_root (bool value) |
| void | set_is_leaf (bool value) |
| void | set_is_leftmost (bool value) |
| void | set_is_rightmost (bool value) |
| Tree_Node () | |
| Constructor vacío (clave indefinida). | |
| Tree_Node (const T &__data) | |
| Constructor con valor de dato __data. | |
| Tree_Node * | get_left_sibling () |
| Retorna hermano izquierdo de this. | |
| Tree_Node * | get_right_sibling () |
| Retorna hermano derecho de this. | |
| Tree_Node * | get_left_child () |
| retorna el hijo más a la izquierda de this. | |
| Tree_Node * | get_right_child () |
| retorna el hijo más a la derecha de this. | |
| Tree_Node * | get_child (const int &i) |
| Tree_Node * | get_parent () |
| Retorna el padre de this. | |
| void | insert_right_sibling (Tree_Node *p) |
| void | insert_left_sibling (Tree_Node *p) |
| void | insert_leftmost_child (Tree_Node *p) |
| void | insert_rightmost_child (Tree_Node *p) |
| void | insert_tree_to_right (Tree_Node *tree) |
| Tree_Node * | get_left_tree () |
| Retorna el árbol a la izquierda de this. | |
| Tree_Node * | get_right_tree () |
| Retorna el árbol a la derecha de this. | |
| Tree_Node * | get_last_tree () |
| template<typename Operation > | |
| void | for_each_child (Operation &op) |
| template<typename Operation > | |
| void | for_each_child (Operation &&op=Operation()) |
| template<typename Operation > | |
| void | for_each_child (Operation &op) const |
| template<typename Operation > | |
| void | for_each_child (Operation &&op=Operation()) const |
| template<template< typename > class Container = DynList> | |
| Container< Tree_Node * > | children_nodes () const |
| Retorna una lista de los nodos hijos de this. | |
| template<template< typename > class Container = DynList> | |
| Container< T > | children () const |
| Retorna una lista de los contenidos de los hijos de this. | |
Árboles m-rios genéricos.
La clase Tree_Node<Key> define árboles generales de cualquier orden representados mediante listas enlazadas.
| Key | el tipo de dato que contiene cada nodo del árbol. |
|
inline |
Visita cada hijo de this y ejecuta la operación operation sobre el nodo hijo
Hace referencia a Aleph::Tree_Node< T >::get_left_child().
Referenciado por Aleph::Tree_Node< T >::children() y Aleph::Tree_Node< T >::children_nodes().
Gráfico de llamadas para esta función:
Gráfico de llamadas a esta función:
|
inline |
Retorna el i-ésimo hijo de this.
Retorna el i-ésimo hijo de this.
| [in] | i | ordinal del hijo al que se desea acceder. |
Hace referencia a Aleph::Tree_Node< T >::get_left_child() y Aleph::Tree_Node< T >::get_right_sibling().
Gráfico de llamadas para esta función:
|
inline |
Retorna el árbol más a la derecha de la arborescencia this. Dispara excepción range_error si this no es el árbol más a la izquierda de toda la arborescencia.
Hace referencia a Aleph::Tree_Node< T >::is_leftmost().
Gráfico de llamadas para esta función:
|
inline |
Inserta p como hermano izquierdo de this.
Inserta p como hermano izquierdo de this.
| [in] | p | nodo a insertar como hermano izquierdo. |
Hace referencia a Aleph::Dlink::append(), Aleph::Dlink::del(), Aleph::Tree_Node< T >::get_left_child(), Aleph::Tree_Node< T >::get_left_sibling(), Aleph::Tree_Node< T >::get_parent(), Aleph::Tree_Node< T >::is_leaf(), Aleph::Tree_Node< T >::is_leftmost(), Aleph::Tree_Node< T >::is_rightmost() y Aleph::Tree_Node< T >::is_root().
Gráfico de llamadas para esta función:
|
inline |
Inserta p como el hijo más a la izquierda de this.
Inserta p como el hijo más a la izquierda de this.
| [in] | p | nodo a insertar. |
Hace referencia a Aleph::Dlink::del(), Aleph::Tree_Node< T >::get_left_child(), Aleph::Tree_Node< T >::get_left_sibling(), Aleph::Tree_Node< T >::get_right_sibling(), Aleph::Tree_Node< T >::is_leaf(), Aleph::Tree_Node< T >::is_leftmost(), Aleph::Tree_Node< T >::is_rightmost() y Aleph::Tree_Node< T >::is_root().
Gráfico de llamadas para esta función:
|
inline |
Inserta p como hermano derecho de this.
Inserta p como hermano derecho de this.
| [in] | p | nodo a insertar como hermano derecho. |
Hace referencia a Aleph::Tree_Node< T >::get_right_sibling(), Aleph::Dlink::insert(), Aleph::Tree_Node< T >::is_leaf(), Aleph::Tree_Node< T >::is_leftmost(), Aleph::Tree_Node< T >::is_rightmost() y Aleph::Tree_Node< T >::is_root().
Gráfico de llamadas para esta función:
|
inline |
Inserta p como el hijo más a la derecho de this.
Inserta p como el hijo más a la derecho de this.
| [in] | p | nodo a insertar. |
Hace referencia a Aleph::Tree_Node< T >::is_leaf(), Aleph::Tree_Node< T >::is_leftmost(), Aleph::Tree_Node< T >::is_rightmost() y Aleph::Tree_Node< T >::is_root().
Gráfico de llamadas para esta función:
|
inline |
Adjunta el árbol tree a la arborescencia this.
Adjunta el árbol tree a la arborescencia this.
| [in] | tree | el árbol a añadir a la arborescencia. |
| domain_error | si tree no es raíz. |
Hace referencia a Aleph::Tree_Node< T >::get_right_tree(), Aleph::Tree_Node< T >::is_rightmost() y Aleph::Tree_Node< T >::is_root().
Gráfico de llamadas para esta función: