Hay infinidad de maneras de representar las estructuras de gráficos. Una de esas formas es con una matriz. cada fila y columna está indexada por el vértice, y cada celda en la matriz representa un borde dirigido (posiblemente ponderado). A, gráfico cíclico simple, con de 0 como sin borde de conexión y 1 con un borde de conexión sólo sería así:
| 0 1 |
| 1 0 |
Al igual que con muchas estructuras inmutables, de la forma que construye es mediante la devolución de las nuevas estructuras basadas en el relación deseada de matrices dadas por ejemplo, si quisiéramos tomar el gráfico anterior y agregar un borde en el primer vértice sobre sí mismo, la matriz que lo representa es justa.
| 1 0 |
| 0 0 |
y para combinar eso con la otra matriz, simplemente los agregamos juntos.
| 0 1 | + | 1 0 | == | 1 1 |
| 1 0 | | 0 0 | | 1 0 |
Por supuesto, hay muchas maneras de representar matrices, con diferentes ventajas y desventajas para la velocidad, el espacio, y algunas otras operaciones, pero eso es una cuestión diferente.
Me parece imposible, por cierto. – configurator
Una buena respuesta va a ser específica del idioma. Debe etiquetar esto en su idioma de preferencia. –
Utilice la evaluación diferida y defina los ciclos recursivamente – Dario