Base de données et Dijkstra

cs_tibo007 Messages postés 4 Date d'inscription dimanche 4 janvier 2004 Statut Membre Dernière intervention 9 février 2007 - 15 mars 2006 à 16:22
cuq Messages postés 344 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 21 mars 2008 - 16 mars 2006 à 11:21
Bonjour,

Je possede dans une base de données sous Sql server des tables contenant des paires de villes avec une ponderation representant la distance qui les sépare.
J'ai besoin de trouver le plus court chemin entre 2 villes données.
Je souhaite utiliser Dijkstra: je possede l'algo( et le comprend...) mais je ne sais pas comment l'appliquer a ces données!!
Faut-il que j'importe les données dans un fichier avant d'appliquer l'algo?? Est-il possible d'appliquer l'algo directement sur la base?
Selon vous quelle est la méthode la plus adaptée sur un tel système??

Merci pour vos conseils
tibo
A voir également:

3 réponses

rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
15 mars 2006 à 18:23
Salut Tibo007,

intéressant développement.
A mes yeux, le meilleur moyen de travailler avec ces données, est de travailler en mémoire, et pas directement sur la base. En mémoire, le meilleur pour travailler avec des matrices est le tableau (ou la collection, mais c'est moins rapide). Si la masse de données est importante, il te faudra inventer un algo de pré-traitement pour classifier tes données (et ne traiter que celles concernées, si tu cherches le plus court chemin entre lille et marseille, en moins d'être en multi-critère avec "éviter les autoroutes", peu de chance que tu passes par toulouse), avant d'appliquer dijkstra.

Suivant comment tu implémenteras l'algo, tu auras besoin de plusieurs tableaux, ou d'un seul, mais contenant des types (par ex: pour contenir le marquage, en plus des données chaînées).

Courage, il n'y a pas de quoi s'ennuyer dans ce domaine!

rvblogn
0
cs_tibo007 Messages postés 4 Date d'inscription dimanche 4 janvier 2004 Statut Membre Dernière intervention 9 février 2007
15 mars 2006 à 20:41
Merci pour ta réponse.
Mais peux tu me préciser ce que tu appelles travailler "en mémoire"?

tibo
0
cuq Messages postés 344 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 21 mars 2008 2
16 mars 2006 à 11:21
Sauf erreur de ma part je ne suis pas certain que Dijkstra soit le plus adapté à ce genre de calcul.

A mon avis il faut plus chercher du coté de Delaunay ou Voronoi
0
Rejoignez-nous