Pregunta

Dado gráfica, ¿cómo podría representar usando adj matriz ?. He leído un montón de tutoriales, correos, diapositivas, etc., pero no puedo conseguir mi cabeza alrededor de ella, sólo necesito que empujoncito.

alt text

¿Fue útil?

Solución

Cada combinación de letra y número es un nodo en el gráfico, es decir, a partir de A0, A1, A2, ... a F5, F6, F7. Su gráfico consta de 48 columnas (8 Tiempos 6 vtas en su laberinto) nodos, por lo que tendrá una matriz de 48x48. Si lo tratas como booleano, deberá definir todos los campos en falso excluidos aquellos donde hay una conexión entre dos nodos, por ejemplo A0 a A1 significaría que la fila A0 tiene un verdadero valor en la columna de la A1, y viceversa (debido a que su gráfica se no dirigido).

Otros consejos

Aquí está mi intento de la primera línea horizontal del laberinto:

   A0 A1 A2 A3 A4 A5 A6 A7
A0 0  1  0  0  0  0  0  0
A1 1  0  0  0  0  0  0  0
A2 0  0  0  1  0  0  0  0
A3 0  0  1  0  0  0  0  0
A4 0  0  0  0  0  1  0  0
A5 0  0  0  0  1  0  0  0
A6 0  0  0  0  0  0  0  0
A7 0  0  0  0  0  0  0  0

Así se puede ver de lo anterior que el va a terminar con una matriz simétrica debido a la naturaleza no dirigida de sus bordes y que va a ser escasamente poblada.

EDIT: Matrix vs Listas

La entrada de Wikipedia para tiene algunos puntos buenos sobre los beneficios de cada algorítmicos.

EDIT:

entrada de Wikipedia para Adyacencia Matrix : +)

Otra forma sería tener 2 matrices boolean llamado Hor y Ver para rastrear la posibilidad de movimiento horizontal y vertical respectivamente.

Hor Matrix: Dimensión: 6x9
[X,YZ] representa la posibilidad de un movimiento horizontal desde [X,Y] a [X,Z] en el tablero real.
-1 representa el límite

ejemplo: [A,01] es true y así es [F,-10]. Pero [B,23] es false.

   -10 01 12 23 34 45 56 67 7-1
A
B
C
D
E
F

Del mismo modo

Ver Matrix: Dimensión: 7x8
[XY,Z] representa la posibilidad de un movimiento vertical desde [X,Z] a [Y,Z] en el tablero real.
Capital o en la fila representan límite.
ejemplo: [DE,0] es true y así es [BC,7]. Pero [CD,0] es false.

    0 1 2 3 4 5 6 7

OA
AB
BC
CD
DE
EF
FO
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top