You are on page 1of 4

08/08/12

Mxima :: algoritmos :: Clasificacin topolgica

M xi m a
c as a A lgo book z foro s obre
Aadido: 10 Jun 2008 19:24 Editado: 23 Ago 2011 12:42

La clasificacin topolgica

Contenido [ocultar]
La clasificacin topolgica

Algoritmo Dado un grafo dirigido con vrtices Ejecucin y aristas. Se requiere volver a Problemas en los jueces de lnea numerar los vrtices de modo que cada lado ha llevado desde la parte superior de un nmero ms pequeo en la parte superior de un grande.

En otras palabras, encontrar una permutacin de los vrtices ( orden topolgico ) correspondientes a la orden definido por todos los bordes de la grfica. Una especie topolgico puede ser no slo (por ejemplo, si un grfico - un blanco, o si hay tres vrtices tales , los , que de lo posible para y , pero ninguno de los en o fuera de alcance no puede ser). Clasificacin topolgica puede no existir en absoluto - si el grfico contiene ciclos (como en este caso hay una contradiccin: hay un camino desde el vrtice al otro, y viceversa). Un problema comn en la ordenacin topolgica - que viene. Hay variables que son desconocidos para nosotros. Lo nico que sabemos sobre algunos de los pares de variables que una variable es menor que el otro. Necesidad de comprobar si estos no son la desigualdad contradictorio, y si no, dar a las variables en orden ascendente (si hay varias soluciones - cualquier tema). Es fcil ver que esto es precisamente el problema de encontrar una especie de grfico topolgica de los vrtices.

Algoritmo
Para resolver esto, se utiliza una profundidad de recorrido . Supongamos que la grfica es acclico, es decir, existe una solucin. Qu hace un rastreo profundo? Cuando te quedas sin algunos picos , se trata de correr a lo largo de todos los bordes que emanan . A lo largo de los bordes de los extremos de los cuales ya han sido visitado antes, no pasa, pero a lo largo de todos los dems - llama se hace pasar sobre sus extremos. Por lo tanto, en el momento de la llamada, todos los vrtices que son

e-maxx.ru/algo/topological_sort

1/4

08/08/12

Mxima :: algoritmos :: Clasificacin topolgica

accesibles desde tanto directos (uno de los bordes) e indirectamente (por cierto) todos ellos ya han visitado el vrtice de recorrido. Por lo tanto, si estamos en el momento de nuestra primera aadir a la parte superior de una lista, al final de esta lista de clasificacin topolgica . Estas explicaciones se pueden presentar en una forma algo diferente, utilizando el concepto de "tiempo fuera" en la profundidad de rastreo. Tiempo de espera para cada vrtice - un punto en el momento en que la llamada ha terminado de trabajar en la carretera de circunvalacin en el fondo de ella (el tiempo de espera puede ser contado desde antes ). Es fcil ver que para un circuito en un tiempo de profundidad de un vrtice es siempre mayor que el tiempo fuera de todos los vrtices alcanzables a partir de l (como lo han sido visitado o hasta una llamada , o durante). Por lo tanto, la clasificacin deseada topolgico - la clasificacin en orden descendente de los tiempos de liberacin.

Ejecucin
Se presenta la aplicacin, lo que implica que la grfica es acclico, es decir, clasificacin deseada topolgico existe. Si el control necesario sobre el grfico acclico se introduce fcilmente en la derivacin en profundidad, como se describe en el artculo para rastrear en las profundidades . i n tn ;/ / v e c t o r < i n t >g [ M A X N ] ;/ / b o o lu s e d [ M A X N ] ; v e c t o r < i n t >a n s ; v o i dd f s( i n tv ){ u s e d [ v ]=t r u e ; f o r( s i z e _ ti = 0 ;i < g [ v ] . s i z e ( ) ;+ + i ){ i n tt o=g [ v ] [ i ] ; i f( ! u s e d [ t o ] ) d f s( t o ) ; } a n s . p u s h _ b a c k( v ) ; } v o i dt o p o l o g i c a l _ s o r t ( ){ f o r( i n ti = 0 ;i < n ;+ + i ) u s e d [ i ]=f a l s e ; a n s . c l e a r ( ) ; f o r( i n ti = 0 ;i < n ;+ + i ) i f( ! u s e d [ i ] ) d f s( i ) ; r e v e r s e( a n s . b e g i n ( ) ,a n s . e n d ( ) ) ;

e-maxx.ru/algo/topological_sort

2/4

08/08/12

Mxima :: algoritmos :: Clasificacin topolgica

} Esta constante vrtices en la grfica. de valor debe ser igual al nmero mximo posible de

La funcin principal de la solucin - es topological_sort, inicializa el recorrido marcado en profundidad, lo ejecuta, y usted termina con una respuesta en el vector .

Problemas en los jueces de lnea


La lista de tareas que hay que buscar clasificacin topolgica: UVA # 10305 "Solicitud de Tareas" UVA # 124 "rdenes" [Dificultad: Fcil]

[Dificultad: Fcil] [Dificultad: Fcil]

UVA # 200 "Orden Raras"

Como

4 personas les ha gustado.

Aadir nuevo comentario


Type your comment here.

Imagen

Publicar como ...

Mostrando 5 comentarios
Ordenar por Popular hoy Suscribirse por E-mail Suscribirse por RSS

Volodymyr Kulyk hace 1 mes


Vector <int> G [Maxn]

e-maxx.ru/algo/topological_sort

3/4

08/08/12

Mxima :: algoritmos :: Clasificacin topolgica

.... int a = g [v] [i]; Error! </> Int


Como Responder

e_maxx

1 Mes atrs en respuesta a Volodymyr Kulyk

Y cul es el error? G [V] - una lista de adyacencia vrtice v, es decir, lista de vrtices asociados con v por una arista. Vamos todo esta lista, y cada vrtice de un g regular [v] [i] - aqu es donde es el siguiente flanco.
Como Responder

Volodymyr Kulyk 1 Mes atrs en respuesta a e_maxx


. g - un vector de tipo int Creo que sera correcto vector <vector <int>> g; </ int>
Como Responder

e_maxx

1 Mes atrs en respuesta a Volodymyr Kulyk

Bueno, tenemos la misma matriz de vectores - slo para esto. En lugar de la matriz de vectores podra ser, s, hacer un vector de vectores, pero este es el sabor.
Como Responder

Volodymyr Kulyk 1 Mes atrs en respuesta a e_maxx


Gracias. Lo tengo.
Como Responder

e-maxx.ru/algo/topological_sort

4/4

You might also like