|
| Arcs_Index (GT &_g, Compare &cmp, SA &_sa) |
|
| Arcs_Index (GT &_g, Compare &&cmp=Compare(), SA &&_sa=SA()) |
|
GT_Arc * | insert_in_graph (GT_Node *src, GT_Node *tgt, const GT_Arc_Info &info) |
|
GT_Arc * | insert_in_graph (GT_Node *src, GT_Node *tgt, const GT_Arc_Info &&info=GT_Arc_Info()) |
|
GT_Arc * | search (GT_Node *src, GT_Node *tgt, const GT_Arc_Info &info) |
|
GT_Arc * | search (GT_Node *src, GT_Node *tgt, const GT_Arc_Info &&info=GT_Arc_Info()) |
|
void | remove_from_graph (GT_Arc *a) throw (std::exception, std::domain_error) |
|
| Arcs_Index (GT &_g, Compare &cmp, SA &_sa) |
|
| Arcs_Index (GT &_g, Compare &&cmp=Compare(), SA &&_sa=SA()) |
|
GT_Arc * | insert_in_graph (GT_Node *src, GT_Node *tgt, const GT_Arc_Info &info) |
|
GT_Arc * | insert_in_graph (GT_Node *src, GT_Node *tgt, const GT_Arc_Info &&info=GT_Arc_Info()) |
|
GT_Arc * | search (GT_Node *src, GT_Node *tgt, const GT_Arc_Info &info) |
|
GT_Arc * | search (GT_Node *src, GT_Node *tgt, const GT_Arc_Info &&info=GT_Arc_Info()) |
|
void | remove_from_graph (GT_Arc *a) throw (std::exception, std::domain_error) |
|
void | swap (DynSetTree &dset) |
|
| DynSetTree (Compare &&cmp=Compare()) |
| Instancia un conjunto dinámico vacío.
|
|
| DynSetTree (Compare &cmp) |
|
| DynSetTree (const DynSetTree &srcTree) |
| Instancia un conjunto dinámico copia de srcTree.
|
|
| DynSetTree (const DynList< Tree > &list) |
|
| DynSetTree (DynSetTree &&srcTree) |
|
void | empty () |
| Elimina todos los elementos del conjunto.
|
|
DynSetTree & | operator= (const DynList< Tree > &list) |
|
DynSetTree & | operator= (const DynSetTree &srcTree) |
| Asigna a this el conjunto dinámico srcTree.
|
|
DynSetTree & | operator= (DynSetTree &&srcTree) |
| Asigna a this el conjunto dinámico srcTree.
|
|
virtual | ~DynSetTree () |
| Destructor; todos los elementos son liberados.
|
|
Tree * | insert (const Tree &key) |
|
Tree * | insert (Tree &&key) |
|
Tree * | append (const Tree &key) |
|
Tree * | append (Tree &&key) |
|
Tree * | search_or_insert (const Tree &key) |
|
Tree * | search_or_insert (Tree &&key) |
|
Tree * | insert_dup (const Tree &key) |
|
Tree * | insert_dup (Tree &&key) |
|
Tree * | put (const Tree &key) |
| Seudo sinonimo de insert; no retorna ningún valor.
|
|
Tree * | put (Tree &&key) |
|
size_t | remove (const Tree &key) |
|
bool | exist (const Tree &key) const |
| Retorna true si key pertenece al conjunto dinámico.
|
|
bool | has (const Tree &key) const |
|
bool | contains (const Tree &key) const |
|
Tree & | find (const Tree &key) throw (std::exception, std::domain_error) |
|
std::pair< int, Tree * > | find_position (const Tree &key) const |
|
Tree * | search (const Tree &key) const throw (std::exception, std::domain_error) |
|
const Tree & | min () const |
|
const Tree & | get_first () |
|
const Tree & | max () const |
|
const Tree & | get_last () |
|
const Tree & | get () |
| Sinónimo de max.
|
|
const size_t & | size () const |
| Retorna la cardinalidad del conjunto.
|
|
bool | is_empty () const |
| Retorna true si el conjunto está vacío.
|
|
size_t | internal_path_length () const |
|
Node * | get_root_node () const |
|
const Tree & | get_root () const |
|
size_t | height () const |
| Calcula y retorna la altura del árbol binario de búsqueda.
|
|
void | for_each_in_preorder (void(*visitFct)(Node *, int, int)) |
|
long | position (const Tree &key) const |
|
Tree & | select (const size_t &i) |
|
const Tree & | select (const size_t &i) const |
|
Tree & | operator() (const size_t &i) |
|
Tree & | access (const size_t &i) |
|
bool | verify () |
|
void | for_each_preorder (Key_Op &key_op) |
|
void | for_each_preorder (Key_Op &&key_op=Key_Op()) |
|
void | for_each_inorder (Key_Op &key_op) |
|
void | for_each_inorder (Key_Op &&key_op=Key_Op()) |
|
void | for_each_postorder (Key_Op &key_op) |
|
void | for_each_postorder (Key_Op &&key_op=Key_Op()) |
|
DynSetTree & | join (DynSetTree &t, DynSetTree &dup) |
|
DynSetTree & | join (DynSetTree &t, DynSetTree &&dup=DynSetTree()) |
|
DynSetTree & | join_dup (DynSetTree &t) |
|
bool | split_key (const Tree &key, DynSetTree &l, DynSetTree &r) |
|
void | split_pos (const size_t pos, DynSetTree &l, DynSetTree &r) |
|
void | split_key_dup (const Tree &key, DynSetTree &l, DynSetTree &r) |
|
bool | traverse (Operation &op) |
|
bool | traverse (Operation &&op=Operation()) |
|
bool | traverse (Operation &op) const |
|
bool | traverse (Operation &&op=Operation()) const |
|
| Functional_Methods (Tree) |
|
| Generic_Keys (Tree) |
|
| Equal_To_Method (DynSetTree) |
|
void | swap (DynSetTree &dset) |
|
| DynSetTree (Compare &&cmp=Compare()) |
| Instancia un conjunto dinámico vacío.
|
|
| DynSetTree (Compare &cmp) |
|
| DynSetTree (const DynSetTree &srcTree) |
| Instancia un conjunto dinámico copia de srcTree.
|
|
| DynSetTree (const DynList< GT::Arc * > &list) |
|
| DynSetTree (DynSetTree &&srcTree) |
|
void | empty () |
| Elimina todos los elementos del conjunto.
|
|
DynSetTree & | operator= (const DynList< GT::Arc * > &list) |
|
DynSetTree & | operator= (const DynSetTree &srcTree) |
| Asigna a this el conjunto dinámico srcTree.
|
|
DynSetTree & | operator= (DynSetTree &&srcTree) |
| Asigna a this el conjunto dinámico srcTree.
|
|
virtual | ~DynSetTree () |
| Destructor; todos los elementos son liberados.
|
|
GT::Arc ** | insert (const GT::Arc *&key) |
|
GT::Arc ** | insert (GT::Arc *&&key) |
|
GT::Arc ** | append (const GT::Arc *&key) |
|
GT::Arc ** | append (GT::Arc *&&key) |
|
GT::Arc ** | search_or_insert (const GT::Arc *&key) |
|
GT::Arc ** | search_or_insert (GT::Arc *&&key) |
|
GT::Arc ** | insert_dup (const GT::Arc *&key) |
|
GT::Arc ** | insert_dup (GT::Arc *&&key) |
|
GT::Arc ** | put (const GT::Arc *&key) |
| Seudo sinonimo de insert; no retorna ningún valor.
|
|
GT::Arc ** | put (GT::Arc *&&key) |
|
size_t | remove (const GT::Arc *&key) |
|
bool | exist (const GT::Arc *&key) const |
| Retorna true si key pertenece al conjunto dinámico.
|
|
bool | has (const GT::Arc *&key) const |
|
bool | contains (const GT::Arc *&key) const |
|
GT::Arc *& | find (const GT::Arc *&key) throw (std::exception, std::domain_error) |
|
std::pair< int, GT::Arc ** > | find_position (const GT::Arc *&key) const |
|
GT::Arc ** | search (const GT::Arc *&key) const throw (std::exception, std::domain_error) |
|
const GT::Arc *& | min () const |
|
const GT::Arc *& | get_first () |
|
const GT::Arc *& | max () const |
|
const GT::Arc *& | get_last () |
|
const GT::Arc *& | get () |
| Sinónimo de max.
|
|
const size_t & | size () const |
| Retorna la cardinalidad del conjunto.
|
|
bool | is_empty () const |
| Retorna true si el conjunto está vacío.
|
|
size_t | internal_path_length () const |
|
Node * | get_root_node () const |
|
const GT::Arc *& | get_root () const |
|
size_t | height () const |
| Calcula y retorna la altura del árbol binario de búsqueda.
|
|
void | for_each_in_preorder (void(*visitFct)(Node *, int, int)) |
|
long | position (const GT::Arc *&key) const |
|
GT::Arc *& | select (const size_t &i) |
|
const GT::Arc *& | select (const size_t &i) const |
|
GT::Arc *& | operator() (const size_t &i) |
|
GT::Arc *& | access (const size_t &i) |
|
bool | verify () |
|
void | for_each_preorder (Key_Op &key_op) |
|
void | for_each_preorder (Key_Op &&key_op=Key_Op()) |
|
void | for_each_inorder (Key_Op &key_op) |
|
void | for_each_inorder (Key_Op &&key_op=Key_Op()) |
|
void | for_each_postorder (Key_Op &key_op) |
|
void | for_each_postorder (Key_Op &&key_op=Key_Op()) |
|
DynSetTree & | join (DynSetTree &t, DynSetTree &dup) |
|
DynSetTree & | join (DynSetTree &t, DynSetTree &&dup=DynSetTree()) |
|
DynSetTree & | join_dup (DynSetTree &t) |
|
bool | split_key (const GT::Arc *&key, DynSetTree &l, DynSetTree &r) |
|
void | split_pos (const size_t pos, DynSetTree &l, DynSetTree &r) |
|
void | split_key_dup (const GT::Arc *&key, DynSetTree &l, DynSetTree &r) |
|
bool | traverse (Operation &op) |
|
bool | traverse (Operation &&op=Operation()) |
|
bool | traverse (Operation &op) const |
|
bool | traverse (Operation &&op=Operation()) const |
|
| Functional_Methods (GT::Arc *) |
|
| Generic_Keys (GT::Arc *) |
|
| Equal_To_Method (DynSetTree) |
|
template<class GT, class Compare = Dft_Arc_Cmp<GT>, template< typename, class > class Tree = Treap, class SA = Dft_Show_Arc<GT>>
class Aleph::Arcs_Index< GT, Compare, Tree, SA >
Construye un Ãndice de arcos para su rápida búsqueda y recuperación dado sus nodos.
IndexArc indiza los arcos de un grafo según el par de nodos que el arco relaciona. La idea es implementar la detección de existencia de arco y su recuperación en tiempo logarÃtmico.
La clase recibe los siguientes parámetros tipo:
- GT: el tipo de grafo basado en List_Graph.
- Tree: el tipo de árbol binario de búsqueda usado internamente para indizar las claves. Por omisión se usan treaps.
- Atención
- Para que la compilación correcta es imperativo que el exista el constructor GT::Arc(void * src, void * tgt, GT::Arc_Type). Del mismo modo, también debe existir el constructor por omisión GT::Arc_Type().
- Ver también
- IndexNode Index_Graph
- Autor
- Leandro Rabindranath León (lrleon en ula punto ve)
-
Alejandro Mujica (aledrums en gmail punto com)
La documentación para esta clase fue generada a partir de los siguientes ficheros: