Originariamente inviato da valia
veramente questo te lo avevo suggerito (anche se per via indiretta devo dire).
L'idea è tenere non tutti i nodi, ma solo i vicini, quindi hai un algoritmo, possibilmente efficiente, che dato un nodo x restituisca i vicini. Supponevo già evitassi di tenerti tutto in memoria, vabbé.
Beh per tenerti il percorso, hai proprio una mappa di in cui via via metti quelli che passi (ti basta solo il loro id), ricordando in questo caso che risalirci significa ripartire il percorso.
Adesso lascio libero sfogo alla mia fantasia (ehehe) e vediamo al visita. Sei al nodo X, devi vedere i nodi vicini (e li hai nella tua lista di adiacenza) e selezionare quelli che
1. potrebbero portarti nella direzione desiderata
2. almeno uno dei nodi adiacenti ti porta nella direzione desiderata (con priorità bassa rispetto al caso precedente).
Il punto è come fai a capire se prendere un nodo o no? Devi creare un intorno che consideri buono (es. un raggio di 1 km intorno alla latitudine desiderata, se il nodo casca li stai a cavallo). se non ne trovi allarga il raggio di ricerca, se ne trovi muoviti in quel senso (verso il più preciso).
Dovresti in questo modo ottenere qualcosa (tagli i nodi della direzione opposta ad esempio).
Hai ricerche continue, ma non cerchi in tutto il mondo, cerchi in sottoinsiemi che desumi piccoli del mondo.
Se poi hai strutturato bene la ogni nodo (e i suoi adiacenti) qualcoas dovresti ottenere (spero)
Non so se come idea ti è di aiuto, l'ho buttata li