Aleph-w  1.9
General library for algorithms and data structures
Aleph::Q_Topological_Sort< GT, Itor, SA > Class Template Reference

#include <topological_sort.H>

Public Member Functions

 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.
 

Detailed Description

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.

Member Function Documentation

◆ perform()

template<class GT , template< typename, class > class Itor = Out_Iterator, class SA = Dft_Show_Arc<GT>>
template<template< class > class List>
List<typename GT::Node*> Aleph::Q_Topological_Sort< GT, Itor, SA >::perform ( const GT &  g)
inline

Retorna un ordenamiento topológico en amplitud.

Parameters
[in]gel digrafo acíclico.
Returns
lista de nodos correspondiente al ordenamiento topológico.
Exceptions
bad_allocsi no hay suficiente memoria para insertar en list o en la cola interna que se requiere para recorrer el digrafo en amplitud.
domain_errorsi g no es un digrafo.
Note
La rutina no verifica si g es en efecto un digrafo acíclico.
+ Here is the call graph for this function:

◆ ranks()

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>
RankList<List<typename GT::Node*> > Aleph::Q_Topological_Sort< GT, Itor, SA >::ranks ( const GT &  g)
inline

Retorna el ordenamiento topológico en amplitud por rangos.

Parameters
[in]gel digrafo acíclico.
[out]rankslista de rangos correspondiente al ordenamiento topológico. Cada rango especifica un conjunto de nodos que pueden mirarse en paralelo.
Exceptions
bad_allocsi no hay suficiente memoria para insertar en list o en la cola interna que se requiere para recorrer el digrafo en amplitud.
domain_errorsi g no es un digrafo.
Note
La rutina no verifica si g es en efecto un digrafo acíclico.
+ Here is the call graph for this function:

The documentation for this class was generated from the following file:

Leandro Rabindranath León