|
|
| Q_Topological_Sort (SA &&__sa=SA()) noexcept(std::is_nothrow_move_assignable< SA >::value) |
| |
|
| Q_Topological_Sort (SA &__sa) noexcept(std::is_nothrow_copy_assignable< SA >::value) |
| |
| template<template< class > class List> |
| List< typename GT::Node * > | perform (const GT &g) |
| |
| template<template< class > class RankList = DynList, template< class > class List = DynList> |
| RankList< List< typename GT::Node * > > | ranks (const GT &g) |
| |
|
void | operator() (const GT &g, DynDlist< DynList< typename GT::Node *>> &list) |
| |
|
void | operator() (const GT &g, DynList< DynList< typename GT::Node *>> &list) |
| |
|
void | operator() (const GT &g, DynDlist< typename GT::Node *> &list) |
| | Sobrecarga de () por razones compatibilidad.
|
| |
template<class GT, template< typename, class > class Itor = Out_Iterator, class SA = Dft_Show_Arc<GT>>
class Aleph::Q_Topological_Sort< GT, Itor, SA >
Calcula un ordenamiento topológico para el digrafo mediante un recorrido en amplitud.
Q_Topdological_Sort recorre en amplitud los nodos de un digrafo g y efectúa un ordenamiento topológico cuyo resultado lo almacena en una lista dada.
template<class GT , template< typename, class > class Itor = Out_Iterator, class SA = Dft_Show_Arc<GT>>
template<template< class > class List>
Retorna un ordenamiento topológico en amplitud.
- Parameters
-
| [in] | g | el digrafo acÃclico. |
- Returns
- lista de nodos correspondiente al ordenamiento topológico.
- Exceptions
-
| bad_alloc | si no hay suficiente memoria para insertar en list o en la cola interna que se requiere para recorrer el digrafo en amplitud. |
| domain_error | si g no es un digrafo. |
- Note
- La rutina no verifica si g es en efecto un digrafo acÃclico.
template<class GT , template< typename, class > class Itor = Out_Iterator, class SA = Dft_Show_Arc<GT>>
template<template< class > class RankList = DynList, template< class > class List = DynList>
Retorna el ordenamiento topológico en amplitud por rangos.
- Parameters
-
| [in] | g | el digrafo acÃclico. |
| [out] | ranks | lista de rangos correspondiente al ordenamiento topológico. Cada rango especifica un conjunto de nodos que pueden mirarse en paralelo. |
- Exceptions
-
| bad_alloc | si no hay suficiente memoria para insertar en list o en la cola interna que se requiere para recorrer el digrafo en amplitud. |
| domain_error | si g no es un digrafo. |
- Note
- La rutina no verifica si g es en efecto un digrafo acÃclico.