IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

algorithme de Dijkstra


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2020
    Messages : 4
    Par défaut algorithme de Dijkstra
    Bonsoir,

    Notre prof d'info nous a fourni 2 versions de cet algorithme, mais je ne comprends pas les différences entre les 2, j'ai l'impression que ce sont deux choses totalement différentes ! Voici les programmes : http://myreader.toile-libre.org/uplo...d8ccd0c7e8.pdf

    Quelles sont donc les différences entre les versions 1 et 2 ? Il y a un cas particulier puis un cas général ?

    Merci beaucoup.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 701
    Par défaut
    Salut,

    Citation Envoyé par btpaoui Voir le message
    Quelles sont donc les différences entre les versions 1 et 2 ? Il y a un cas particulier puis un cas général ?
    L'algorithme de Dijkstra s'exprime d'abord en français et en pseudo code de "haut niveau".
    L'article de wikipedia vous décrit les différentes étapes.

    Le prof vous a donné 2 implémentations. Une qui le réalise avec des listes de listes et des fonctions externes à la boucle principale, une autre qui profite des tableaux numpy et qui regroupe toutes les opérations à effectuer dans la boucle.

    Donc après avoir testé que çà fonctionne pareil, à vous de décortiquer les deux codes pour vérifier qu'ils réalisent bien les différentes étapes de l'algo. Ce quoi vous aidera à comprendre la différence entre un algorithme et des réalisations/implémentations d'un algorithme (sa traduction en Python).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2020
    Messages : 4
    Par défaut
    Merci pour votre réponse.

    Ce que je ne comprends pas, c'est ce que prend en argument l'algorithme de Dijkstra dans les 2 cas ? Que prennent-ils dans la version 1 et la version 2 ?

    Merci beaucoup.

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 701
    Par défaut
    Citation Envoyé par btpaoui Voir le message
    Ce que je ne comprends pas, c'est ce que prend en argument l'algorithme de Dijkstra dans les 2 cas ? Que prennent-ils dans la version 1 et la version 2 ?
    Là pour le coup, il n'y a rien à comprendre, juste (savoir) lire le code.
    Et à priori, il suffit de remplacer Dijkstra par dijkstra dans "plus_court_chemin" pour passer de l'un à l'autre.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2020
    Messages : 4
    Par défaut
    Merci beaucoup pour votre réponse.

    Et que dois prendre en argument la fonction de la version 2 ?

    Et celle de la fonction 1 ?

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 701
    Par défaut
    Citation Envoyé par btpaoui Voir le message
    Et que dois prendre en argument la fonction de la version 2 ?

    Et celle de la fonction 1 ?
    C'est juste les mêmes.

    Imaginez devoir lire des phrases en français, vous êtes à priori capable de repérer, articles, sujets, verbe, complément,... sans pour autant connaître le sens de différents mots. La structure d'une phrase suivra les mêmes règles quelque soit son sens.

    En programmation, c'est pareil, fonctions, conditions, boucles,... c'est la grammaire de base. Après qu'on s'en serve pour raconter l'algorithme de Djikstra ou une autre histoire, on saura le lire à partir du moment où on sait reconnaître la structure.

    Et pour y arriver, il faut juste prendre le temps d'apprendre.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2020
    Messages : 4
    Par défaut
    OK.

    Pour la version 1, je n'ai pas compris le rôle de la fonction "relâcher".

    Pourriez-vous me l'expliquer svp ? Sinon c'est bon pour ce qu'il y a avant.






    Merci.

  8. #8
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 701
    Par défaut
    Citation Envoyé par btpaoui Voir le message
    Pourriez-vous me l'expliquer svp ?
    C'est à vous de le comprendre.
    Partez d'un graphe plus simple/petit.
    Visualisez le contenu d'Attribut à chaque étape (la commande print est là pour çà).
    Essayez de comprendre comment ces changements d'états reflètent ceux de l'algo.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Petit problème avec l'algorithme de Dijkstra
    Par Raiden1234 dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 28/11/2008, 16h22
  2. [vb.net] utilisation de l'algorithme de Dijkstra
    Par tangoman dans le forum Windows Forms
    Réponses: 1
    Dernier message: 29/03/2007, 23h20
  3. Algorithme de Dijkstra appliqué au probleme du taux de change
    Par zebullon dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 24/11/2006, 17h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo