Tipos públicos | |
typedef GT::Arc | Arc |
El tipo de Graph_Arc que usado en el List_Graph. | |
typedef GT::Arc_Type | Arc_Type |
El tipo de atributo que guardan los arcos del grafo representado con listas de adyacencia. | |
typedef GT | List_Graph_Type |
El tipo de grafo representado con listas de adyacencia. | |
typedef GT::Node | Node |
El tipo de Graph_Node que usado en el List_Graph. | |
typedef GT::Node_Type | Node_Type |
El tipo de atributo que guardan los nodos del grafo representado con listas de adyacencia. | |
Métodos públicos | |
const size_t & | get_num_nodes () const |
Retorna el número de nodos del grafo (que es la dimensión de la matriz). | |
Matrix_Graph (Matrix_Graph &mat) | |
Constructor copia. | |
Matrix_Graph (GT &g, const Arc_Type &null) | |
Constructor a partir de un grafo g representado con listas de adyacencia. | |
const Arc_Type & | null_value () const |
El valor constante que representa la entrada nula en la matriz. | |
Arc_Type & | operator() (const long &i, const long &j) |
Retorna una referencia al atributo de arco contenido en la entrada (i,j) de la matriz de adyacencia. | |
Node_Type & | operator() (const long &i) const |
Retorna el atributo asociado al nodo cuyo índice es i. | |
const Arc_Type & | operator() (const long &i, const long &j) const |
Retorna una referencia al atributo de arco contenido en la entrada (i,j) de la matriz de adyacencia. | |
Matrix_Graph & | operator= (GT &g) |
Asigna a una matriz un grafo representado con listas de adyacencia. | |
Matrix_Graph & | operator= (Matrix_Graph &mat) |
Asigna a una matriz otra matriz. |
Un objeto Matrix_Graph es una copia de un grafo representado con listas de adyacencia o de un objeto Map_Matrix_Graph (que está asociado a una representación con listas de adyacencia). A diferencia de Map_Matrix_Graph, Matrix_Graph es modificable en el sentido de que permite añadir nuevos arcos en el grafo por modificación de una entrada nula de la matriz.
Cuando se construye un objeto Matrix_Graph, se debe especificar un valor constante que representa a la entrada nula; es decir, a la ausencia de arco.
Es esperado que el consumo de memoria por los arcos sea proporcional a su cantidad.
Definición en la línea 413 del archivo tpl_matgraph.H.
Matrix_Graph | ( | GT & | g, | |
const Arc_Type & | null | |||
) | [inline] |
Este constructor recibe un grafo basado en List_Graph g y un valor de tipo GT::Arc::Arc_Type correspondiente al valor que será considerado como entrada nula. Para cada nodo p del grafo, de tipo GT::Node, se copia su atributo interno obtenido mediante p->get_info(). De igual manera se hace para los arcos.
[in] | g | el grafo representado con listas de adyacencia partir del cual se copiará la matriz. |
[in] | null | el valor que será considerado como entrada nula de la matriz y que indicará ausencia de arco. |
bad_alloc | si no hay suficiente memoria para construir la matriz. |
Definición en la línea 529 del archivo tpl_matgraph.H.
Matrix_Graph | ( | Matrix_Graph< GT > & | mat | ) | [inline] |
Construye una matriz a partir de otra matriz.
[in] | mat | la matriz a ser copiada. |
bad_alloc | si no hay suficiente memoria para construir la matriz. |
Definición en la línea 541 del archivo tpl_matgraph.H.
Arc_Type& operator() | ( | const long & | i, | |
const long & | j | |||
) | [inline] |
El operador (i,j) lee la entrada de la matriz correspondiente y retorna el atributo del arco. Si no existe el arco, entonces se retorna el valor Matrix_Graph::null_value().
Este modo de acceso es constante.
[in] | i | índice del nodo origen. |
[in] | j | índice del nodo destino. |
out_of_range | si i o j es mayor o igual a la cantidad de nodos del grafo. |
Definición en la línea 641 del archivo tpl_matgraph.H.
Node_Type& operator() | ( | const long & | i | ) | const [inline] |
El operador (i) con i entero retorna el valor de atributo asociado al nodo cuyo índice es i.
[in] | i | índice de la matriz. |
out_of_range | si i es mayor o igual a la cantidad de nodos. |
Definición en la línea 617 del archivo tpl_matgraph.H.
Hace referencia a DynArray::access().
const Arc_Type& operator() | ( | const long & | i, | |
const long & | j | |||
) | const [inline] |
El operador (i,j) lee la entrada de la matriz correspondiente y retorna el atributo del arco. Si no existe el arco, entonces se retorna el valor Matrix_Graph::null_value().
Este modo de acceso es constante.
[in] | i | índice del nodo origen. |
[in] | j | índice del nodo destino. |
out_of_range | si i o j es mayor o igual a la cantidad de nodos del grafo. |
Definición en la línea 599 del archivo tpl_matgraph.H.
Matrix_Graph& operator= | ( | GT & | g | ) | [inline] |
Borra todo el estado de this y luego copia el grafo representado con listas de adyacencia g.
[in] | g | el grafo representado con listas de adyacencia a ser copiado. |
bad_alloc | si no hay suficiente memoria para construir la matriz. |
Definición en la línea 577 del archivo tpl_matgraph.H.
Matrix_Graph& operator= | ( | Matrix_Graph< GT > & | mat | ) | [inline] |
Borra todo el estado de this y luego copia el grafo representado con la matriz de adyacencia mat.
[in] | mat | la matriz a ser copiada. |
bad_alloc | si no hay suficiente memoria para construir la matriz. |
Definición en la línea 557 del archivo tpl_matgraph.H.