Soy nuevo en Scheme, he estado usando MIT Scheme por algún tiempo. Estoy tratando de entender cómo implementar algoritmos de gráficos populares como los algoritmos de ruta más cortos, BFS, DFS. ¿Hay algún tutorial que pueda ayudarme a comprender la recursividad que estaría involucrada, junto con las estructuras de datos apropiadas? He intentado buscar en Google, pero eso no terminó dándome buenos resultados.Programación de gráficos en el Esquema
EDIT: Pido disculpas por no ser más específico anteriormente. Mi pregunta era acerca de atravesar el gráfico completo, y no encontrar la ruta entre start y meta node. Así, dada una gráfica G (V, E), en donde V es el conjunto de vértices y E es el conjunto de borde, a partir de cualquier nodo n, ¿cuál es la ruta de acceso generado de modo que al final de esta travesía, todos los nodos son visitados.
mayoría de las implementaciones que he encontrado buscando en Google, mientras que eran los que tenían el comienzo y objetivo nodo. Mi versión (una de las respuestas), elige un vértice y visita todos los demás.
Tomemos, por ejemplo, el siguiente gráfico: -
1 ----> 2 5
/| /|
/| /|
/| /|
/ | / |
/ | / |
4<----3 <---6 7
Este DAG tiene (4-> 2), (2-> 3), (5-> 6) y (5-> 7), que no puedo representar en el diagrama. :-)
El camino recorrido a partir de podrían ser:
(1, 2, 3, 4, 5, 6, 7)
Tengo curiosidad sobre lo que estás tratando de codificar. Específicamente, un algoritmo de búsqueda generalmente implica buscar un objetivo o meta, pero parece que su programa no lo hace. ¡Algunas declaraciones de propósito, contratos y casos de prueba ayudarían mucho! –
John, ¡he agregado un breve resumen a mi pregunta! ¡Avíseme si me falta algo! – Gooner