Introduction

Dans cet article je voudrais partager une implémentation de l’algorithme de Dijkstra.

Cet algorithme est utilisé pour calculer le chemin le plus court entre deux points dans une matrice, dans la vraie vie ce type d’algorithmes est utilisée dans des outils comme google maps, Waze, tomtom … pour calculer la route à suivre entre deux points dans une carte.

c’est aussi utilisé dans le domaine du jeux-vidéo dans des jeux vidéo.

Description rapide de l’algorithme

Je vous invite à regarder cette vidéo pour une description détaillée de l’algorithme.

c’est très bien expliqué et ça va droit au but, tout ce que j’aime.

Demo

Vous pouvez tester mon implémentation sur cette URL.

capture de la démo

J’ai essayé de donner un cas d’utilisation réel, dans mon exemple je simule un scénario de recherche de chemin entre deux poins d’une carte.

vous remarquerez différentes couleurs de lignes entre les différents points représentant l'état du trafic entre 2 points:

Commencez donc par cliquer sur les différentes routes pour changer leur état.

après cela choisissez votre point de départ, point d’arrivée puis lancez la recherche en cliquant sur “GO”

Code source

Vous pouvez trouver le code source sur github.

Comment lire le code

Le code est divisé principalement en 3 parties:

Partie 1 : Implémentation de l’algorithme de Dijkstra dans le fichier src/dijkstra/dijkstra.ts

Partie 2: Positionnement des différents noeuds dans l'écran avec le composant src/components/Visualizer.vue

Partie 3: La page principale qui regroupe tout les composants, ici on va définir les données d’exemple, et définir le design finale de la page.