|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2009 Messages : 94 ![]() |
Bonjour,
je suis étudiant et j'ai pour projet de concevoir une application qui doit reprendre plus ou moins les fonctionnalités d'un GPS: calcule du chemin le plus avantageux selon plusieurs critères tels que la vitesse, la distance ou le prix de déplacement. J'utilise un graphe basé sur une liste de successeurs mais je ne sais pas quel serait la structure de données optimale à utiliser pour mettre en liens les villes, les moyens de transports et les différents coûts. Pour l'instant j'utilise ceci : Classe Node UUID id String nom Classe Edge UUID id Node from Node to int weight (ici représente la distance entre les deux villes) Transport t (transport qui emprunte l'arc) Seulement avec cette structure de données on a autant d'arc entre deux même villes que de moyens de transport reliant ces deux villes.. Quelle serait la structure de donnée optimale pour répondre à mes besoins? Merci beaucoup. |
|
|
00
|
|
|
#2 | |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 187 ![]() |
Bonjour Alexgille,
Citation:
Sans trop comprendre les détails, j'ai supposé que, actuellement, tu as : Node ---0,n---[associer]---1,1--- Edge (via UUID).ce qui donne : Node(UUID, nom, ...) ; Si, donc, j'ai bien compris, en isolant le couple constitué des deux villes, cela donnerait : Node ---0,n---[associer]---1,1--- From_To ;ce qui donnerait : Node(UUID, nom, ...) ;
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
|
10
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2009 Messages : 94 ![]() |
Ta réponse est niquel! Merci
Toutefois, cette structure de données est-elle compatible avec un algorithme de type dijkstra sur un graphe orienté? Le graphe n'est pas vraiment orienté vu que pour toutes paires de villes (A,B) il existe les arcs A-B et B-A. Merci pour tes réponses. |
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 187 ![]() |
Bonjour Alexgille,
Citation:
Cette modélisation est, simplement, une application des règles de gestion que tu as énoncées dans ton premier post. Citation:
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
||
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2009 Messages : 94 ![]() |
Merci beaucoup pour ces réponses
![]() Tu penses que dans le forum Algorithmique quelqu'un pourrait m'aider? |
|
|
00
|
|
|
#6 | |
|
Nouveau Membre du Club
![]() Inscription : juillet 2009 Messages : 94 ![]() |
Citation:
Quel serait selon toi la meilleur structure de donnée pour un graphe ..? |
|
|
|
00
|
|
|
#7 | |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 187 ![]() |
Bonsoir Alexgille,
Citation:
Tu as besoin d'un graphe orienté : OK. Ce graphe est donc composé de points ayant des attributs particuliers. Il faut donc vérifier si, à partir de la structure de données que tu sembles avoir validée, tu possèdes toutes les données nécessaires à la détermination des attributs de ces points. Si j'ai bien tout compris, bien entendu...
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
|
00
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2009 Messages : 94 ![]() |
L'algorithme de dijkstra permet de trouver le plus court chemin entre deux noeuds du graphe. Il se sert pour cela d'une liste de noeuds, ce qui veut dire qu'il faut pouvoir ressortir la liste exhaustive des noeuds simplement, dans notre cas pas de problèmes. Il se sert aussi de la liste des successeurs de chaque noeuds ainsi que le poids de l'arc qui relie les noeuds entre eux. Donc il faut pouvoir accéder au poids d'un arc en identifiant l'arc par l'attribut "to" qu'il contient. Le poids d'un arc est unique et équivaut à la distance entre les villes. Afin de déterminer le chemin le moins chère ou le plus rapide, on calcule le poids en fonction des caractéristiques d'un véhicule et de la distance. Le tout à implémenter en Java :/ |
|
|
00
|
|
|
#9 | ||||
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 187 ![]() |
Bonjour Alexgille,
Citation:
Citation:
Citation:
Citation:
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
||||
|
|
00
|
|
|
#10 | |
|
Expert Confirmé Sénior
![]() Inscription : janvier 2007 Messages : 8 740 ![]() |
Citation:
Ne pas confondre analyse et implémentation.. Dans ton analyse, tu dois identifier les objets, leurs propriétés, et leurs relations. Ensuite, dans l'implémentation, tu dois fabriquer ces structures et ces liens avec le langage choisi. Enfin, si tu as besoin d'un algorithme particulier (ici Djiskra), cet algoithme est ça : un algorithme. Il s'applique de manière générique. A toi soit de le programmer en fonction du langage que tu utilises, soit de récupérer une fonction qui le fait dans un certain langage et de lui fournir les bons paramètres .. Bref, beaucoup de flou dans ce qui est la conception d'un logiciel et/ou d'une fonctionalité...
__________________
"Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle". Consultant indépendant. Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie. C, Fortran, XWindow/Motif, Java Je ne réponds pas aux MP techniques |
|
|
|
00
|
|
|
#11 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2009 Messages : 94 ![]() |
Oui, je sais, et c'est pour ça que je demande quelle structure de donnée je pourrais implémenter en Java.
Le fait est que j'ai déjà implémenté une partie de la structure de donnée mais qu'en milieux de chemin j'ai remarqué que ça commençait à devenir un vrai plat de pattes avec l'obligation de dupliquer certaines valeurs, ce qui est à éviter en informatique. C'était pour perfectionner et apprendre à mieux concevoir mon programme. Merci pour les réponses |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com