Sono nuovo di Scheme, utilizzo Schema MIT da un po 'di tempo. Sto cercando di capire come implementare algoritmi di grafi popolari come gli algoritmi di percorso più brevi, BFS, DFS. Esistono tutorial che potrebbero aiutarmi a comprendere la ricorsione che sarebbe stata coinvolta, insieme alle strutture dati appropriate? Ho provato a usare Googling, ma questo non mi ha dato buoni risultati.Programmazione grafica nello schema
MODIFICA: Mi scuso per non essere più specifico in precedenza. La mia domanda riguardava attraversare l'intero grafico e non trovare il percorso tra uno obiettivo nodo. Quindi, dato un grafo G (V, E), dove V è l'insieme dei vertici e E rappresenta l'insieme degli archi, partendo da qualsiasi nodo n, qual è generato il percorso in modo che alla fine questa traversata, tutti i nodi sono visitati.
maggior parte delle implementazioni che ho trovato mentre Googling erano quelli con il inizio e obiettivo nodo. La mia versione (una delle risposte), sceglie un vertice e visita tutti gli altri.
Prendiamo ad esempio il seguente grafico: -
1 ----> 2 5
/| /|
/| /|
/| /|
/ | / |
/ | / |
4<----3 <---6 7
Questo DAG trovi (4-> 2), (2-> 3), (5-> 6) e (5-> 7), che non riesco a rappresentare nel diagramma. :-)
traiettoria percorsa a partire dal 1 potrebbe essere:
(1, 2, 3, 4, 5, 6, 7)
Sono curioso di sapere cosa stai provando a codificare. Nello specifico, un algoritmo di ricerca di solito comporta la ricerca di un obiettivo o di un obiettivo, ma sembra che il tuo programma no. Alcune dichiarazioni di scopo, contratti e casi di test potrebbero aiutare un sacco! –
John, ho aggiunto un breve riassunto alla mia domanda! Fammi sapere se mi manca qualcosa! – Gooner