Backtracking
Publicado por Ayudaa (2 intervenciones) el 15/04/2020 22:54:02
Pregunta 1
Escribir un programa utilizando Bactracking que resuelva el siguiente problema:
Dada una matriz A de 2 dimensiones, con N filas y N columnas, donde N es el número de vértices de un grafo dirigido y cada entrada en la matriz es un 1 si hay una conexión entre esos dos vértices o 0 si no la hay.
Encontrar un ciclo en un grafo dirigido que visite cada vértice del grafo pasando exactamente una vez por cada vértice y terminando en el vértice inicial.
Por ejemplo, un ciclo en el siguiente grafo es 0, 1, 2, 4, 3, 0.
(0)--(1)--(2) A = {{0,1,0,1,0}, {1,0,1,1,1}, {0,1,0,0,1}, {1,1,0,0,1}, {0,1,1,1,0}}
| / \ |
| / \ |
| / \ |
(3)-------(4)
Y el siguiente grafo no contiene tal ciclo.
(0)--(1)--(2) A = {{0,1,0,1,0}, {1,0,1,1,1}, {0,1,0,0,1}, {1,1,0,0,0}, {0,1,1,0,0}}
| / \ |
| / \ |
| / \ |
(3) (4)
Escribir un programa utilizando Bactracking que resuelva el siguiente problema:
Dada una matriz A de 2 dimensiones, con N filas y N columnas, donde N es el número de vértices de un grafo dirigido y cada entrada en la matriz es un 1 si hay una conexión entre esos dos vértices o 0 si no la hay.
Encontrar un ciclo en un grafo dirigido que visite cada vértice del grafo pasando exactamente una vez por cada vértice y terminando en el vértice inicial.
Por ejemplo, un ciclo en el siguiente grafo es 0, 1, 2, 4, 3, 0.
(0)--(1)--(2) A = {{0,1,0,1,0}, {1,0,1,1,1}, {0,1,0,0,1}, {1,1,0,0,1}, {0,1,1,1,0}}
| / \ |
| / \ |
| / \ |
(3)-------(4)
Y el siguiente grafo no contiene tal ciclo.
(0)--(1)--(2) A = {{0,1,0,1,0}, {1,0,1,1,1}, {0,1,0,0,1}, {1,1,0,0,0}, {0,1,1,0,0}}
| / \ |
| / \ |
| / \ |
(3) (4)
Valora esta pregunta


-1