Algorithme de Dijkstra

Un ensemble de cartes d'étude sur l'algorithme de Dijkstra, couvrant les concepts clés, les terminologies et les applications de cet algorithme dans le domaine des graphes.

WolfLina9·80 fiches·80 questions
études supérieurescomputer_sciencealgorithms
0
Je sais
1 / 80
0
J'apprends
Recto

Algorithme de Dijkstra

Appuyez pour retourner
Verso

Un algorithme de recherche de chemin le plus court dans un graphe pondéré.

Appuyez pour retourner
Je sais
J'apprends

Quiz(80 questions)

Question 1 sur 80

1. Quel est le but principal de l'algorithme de Dijkstra ?

Termes dans ce set(80)

Concepts de base(20)

Algorithme de Dijkstra

Un algorithme de recherche de chemin le plus court dans un graphe pondéré.

Graphe pondéré

Un ensemble de nœuds reliés par des arêtes qui ont des valeurs numériques (poids).

Nœud source

Le point de départ à partir duquel les distances vers d'autres nœuds sont calculées.

Distance

Valeur représentant le coût pour atteindre un nœud depuis le nœud source.

Arête

Une connexion entre deux nœuds d'un graphe, pouvant avoir un poids associé.

Poids

Valeur numérique attribuée à une arête, représentant le coût de traverser cette arête.

Table des distances

Tableau qui stocke les distances minimales connues de chaque nœud au nœud source.

Nœud visité

Un nœud pour lequel la distance minimale a été déterminée et qui ne sera plus mis à jour.

Nœud non visité

Un nœud dont la distance minimale n'a pas encore été déterminée.

Vérification de voisins

Processus d'évaluation des nœuds adjacents d'un nœud visité pour mettre à jour les distances.

Algorithme glouton

Stratégie utilisée par Dijkstra, visant à faire le meilleur choix local à chaque étape.

Véracité

L'algorithme de Dijkstra est-il toujours correct ? Oui, pour les graphes à poids non négatifs.

Temps d'exécution

Complexité de Dijkstra : O((V + E) imes ext{log}(V)) avec un tas de Fibonacci.

Exemple simple

Graphe : A-B(1), A-C(4), B-C(2). Distance de A à C : 3 via B.

Priorité

Dijkstra utilise une file de priorité pour sélectionner le nœud avec la plus petite distance.

Chemin le plus court

La séquence de nœuds reliant le nœud source à un nœud cible avec la distance minimale.

Parcours

Dijkstra effectue un parcours du graphe en suivant les arêtes et en mettant à jour les distances.

Initialisation

Au départ, la distance vers le nœud source est 0, et toutes les autres distances sont infinies.

Mise à jour

Dijkstra met à jour la distance d'un nœud non visité si une voie moins coûteuse est trouvée.

Fin de l'algorithme

L'algorithme s'arrête lorsque tous les nœuds ont été visités ou que le nœud cible est atteint.

Fonctionnement de l'algorithme(20)

Initialisation des distances

Les distances de chaque nœud sont initialisées à l'infini, sauf pour le nœud de départ qui est à 0.

Que fait l'algorithme de Dijkstra en premier?

Il choisit le nœud avec la distance minimale non visitée.

Vrai ou faux: Dijkstra fonctionne uniquement sur les graphes dirigés.

Faux. Dijkstra fonctionne sur les graphes non dirigés et dirigés, tant que les poids sont positifs.

Mise à jour des distances

Pour chaque voisin du nœud courant, vérifiez si une distance plus courte est possible. Si oui, mettez à jour.

Quel est le rôle de la file de priorité?

Elle permet de sélectionner efficacement le nœud avec la distance minimale à chaque étape.

Étapes de l'algorithme

- Initialiser les distances - Choisir le nœud courant - Mettre à jour les voisins - Répéter jusqu'à tous les nœuds visités.

Condition d'arrêt de l'algorithme

L'algorithme s'arrête lorsque tous les nœuds ont été visités ou que le nœud cible est atteint.

Que se passe-t-il si un nœud est visité?

Sa distance ne sera plus mise à jour, car il a déjà la distance minimale.

Exemple: mise à jour des distances

Si la distance d'un nœud courant est 5 et que le chemin vers un voisin est 3, la distance du voisin devient 8.

X est un nœud courant, voisins sont A, B.

Distances: D(A) = 2, D(B) = 7. Que faire? Réponse: Mettre à jour D(A) à 5 si le chemin par X est 3.

Que signifie 'nœud final'?

C'est le nœud cible que l'on souhaite atteindre avec le coût minimum.

Poids des arêtes

Les poids représentent le coût ou la distance entre les nœuds. Doivent être positifs pour Dijkstra.

Que fait-on avec les nœuds non visités?

Ils sont stockés dans la file de priorité et attendent d'être examinés.

Relation entre nœud courant et voisins

Le nœud courant influence directement la mise à jour des distances de ses voisins.

Fonctionnalité clé de Dijkstra

Il garantit de trouver le chemin le plus court en suivant des arêtes de poids positif.

Vrai ou faux: Dijkstra peut gérer des poids négatifs.

Faux. Les poids doivent être non négatifs pour garantir des résultats corrects.

Dijkstra et algorithmes similaires

Dijkstra est différent de Bellman-Ford car il ne gère pas les poids négatifs.

Rôle de la distance courante

Elle permet de déterminer le nœud avec le chemin le plus court à explorer.

Formule de coût cumulatif

Pour un nœud courant X et voisin Y: D(Y)=extmin(D(Y),D(X)+extpoids(X,Y))\displaystyle D(Y) = ext{min}(D(Y), D(X) + ext{poids}(X,Y)).

Quel est le rôle des distances cumulées?

Elles représentent le coût minimum pour atteindre chaque nœud depuis le nœud de départ. - Mesure le chemin le plus court. - Aide à déterminer le nœud suivant à explorer.

Applications et cas d'utilisation(20)

Utilisation dans les systèmes de navigation

L'algorithme de Dijkstra est essentiel pour déterminer le chemin le plus court dans les applications de navigation GPS.

Vrai ou faux : Dijkstra fonctionne avec des graphes non pondérés.

Faux. Dijkstra nécessite des graphes pondérés pour fonctionner correctement.

Application dans les réseaux de transport

Il aide à optimiser les itinéraires des véhicules en calculant les chemins les plus courts entre plusieurs points.

Comparaison : Dijkstra vs A*

Dijkstra explore tous les chemins possibles, tandis qu'A* utilise une heuristique pour optimiser la recherche.

Cas d'utilisation dans la planification de réseaux

Dijkstra est utilisé pour établir des connexions efficaces entre les nœuds dans un réseau informatique.

Vrai ou faux : Dijkstra peut gérer les poids négatifs.

Faux. Dijkstra ne gère pas les poids négatifs, ce qui nécessite d'autres algorithmes.

Exemple d'application en logistique

Optimisation des délais de livraison en trouvant le chemin le plus court pour la livraison des colis.

Utilisation dans les jeux vidéo

Dijkstra est utilisé pour calculer les chemins que les personnages doivent suivre dans un environnement de jeu.

Dijkstra et les cartes géographiques

Permet de déterminer le chemin le plus court entre deux villes sur une carte routière.

Application dans l'intelligence artificielle

Utilisé pour le pathfinding, permettant aux agents de naviguer efficacement dans des environnements complexes.

Utilisation dans les systèmes de transport public

Dijkstra aide à planifier les itinéraires les plus rapides pour les bus et les trains.

Dijkstra dans les réseaux sociaux

Pour analyser les connexions entre utilisateurs et déterminer les chemins d'interaction les plus courts.

Application dans la robotique

Permet aux robots de naviguer dans un espace donné en évitant les obstacles.

Fill the blank : Dijkstra est utilisé dans les systèmes ______.

de navigation.

Impact sur la gestion des ressources

Dijkstra aide à minimiser les coûts en optimisant les trajets entre ressources et points de livraison.

Utilisation dans les applications de cartographie en ligne

Dijkstra est utilisé pour fournir des directions précises à partir de différentes localisations.

Application dans la recherche opérationnelle

Pour résoudre des problèmes d'optimisation liés à la logistique et au transport.

Vrai ou faux : Dijkstra est adapté aux graphes orientés.

Vrai. Dijkstra fonctionne avec des graphes orientés et non orientés.

Exemple dans le domaine médical

Optimiser le transport d'urgence en déterminant le chemin le plus rapide vers un hôpital.

Utilisation dans les systèmes de télécommunications

Pour établir des chemins de communication efficaces entre les différents équipements réseau.

Complexité et performances(20)

Complexité temporelle de Dijkstra

La complexité temporelle de l'algorithme de Dijkstra est de O((V+E)imesextlog(V))\displaystyle O((V + E) imes ext{log}(V)) où V est le nombre de sommets et E le nombre d'arêtes.

Complexité spatiale de Dijkstra

La complexité spatiale est de O(V)\displaystyle O(V), car l'algorithme nécessite des structures pour stocker les distances et les sommets visités.

Vrai ou faux: Dijkstra utilise une approche gloutonne.

Vrai. Dijkstra est un algorithme glouton qui choisit à chaque étape le sommet avec la distance la plus courte.

Comparaison: Dijkstra vs. Bellman-Ford

Dijkstra : O((V+E)imesextlog(V))\displaystyle O((V + E) imes ext{log}(V)) Bellman-Ford : O(VimesE)\displaystyle O(V imes E) Dijkstra ne gère pas les poids négatifs.

Remplir le blanc: Dijkstra est optimal pour les graphes avec des poids ______.

Dijkstra est optimal pour les graphes avec des poids non négatifs.

Effet de l'utilisation d'une file de priorité

L'utilisation d'une file de priorité réduit la complexité temporelle de l'algorithme, améliorant son efficacité.

Exemple: Calculer distances pour 4 sommets

Pour 4 sommets avec 3 arêtes, l'algorithme nécessite au maximum 3 itérations pour déterminer les distances minimales.

Impact sur la performance en cas de poids négatifs

Si des poids négatifs existent, Dijkstra ne garantit pas les distances minimales, ce qui affecte sa performance.

Vrai ou faux: Dijkstra traite tous les sommets une seule fois.

Faux. Il peut traiter un sommet plusieurs fois jusqu'à ce qu'il trouve la distance minimale.

Analyse de la complexité dans un graphe dense

Dans un graphe dense, la complexité est plus proche de O(V2)\displaystyle O(V^2) en raison du grand nombre d'arêtes.

Que se passe-t-il si l'algorithme ne trouve pas de chemin?

Si aucun chemin n'est trouvé, les distances restent infinies, indiquant que le sommet est inaccessibile.

Utilisation de structures de données efficaces

Des structures telles que des tas binaires ou Fibonacci peuvent réduire le coût d'extraction du sommet minimal.

Comparaison de performances pour graphes épars

Pour des graphes épars, Dijkstra est plus efficace avec O(Eimesextlog(V))\displaystyle O(E imes ext{log}(V)).

Vrai ou faux: Dijkstra fonctionne mieux sur grands graphes.

Faux. Dijkstra est plus performant sur des graphes de taille modérée, les grands graphes peuvent induire une surcharge.

Comportement en cas de sommet isolé

Un sommet isolé ne sera jamais atteint, donc sa distance restera infinie.

Influence du nombre d'arêtes sur la complexité

Plus il y a d'arêtes, plus la complexité temporelle augmente, surtout dans des graphes denses.

Question: Quel est l'impact de l'optimisation?

L'optimisation de Dijkstra permet d'atteindre des performances proches de O(E)\displaystyle O(E) dans certains cas.

Pourcentage d'amélioration avec la bonne structuration

Une bonne structuration peut réduire le temps d'exécution jusqu'à 30% selon la taille du graphe.

Complexité dans un graphe à faible densité

Dans un graphe à faible densité, Dijkstra reste efficace avec un O(V+E)\displaystyle O(V + E) optimal.

Analyse de la complexité de l'algorithme de Dijkstra

L'algorithme de Dijkstra a une complexité temporelle de O(V2)\displaystyle O(V^2) dans sa version basique, où V\displaystyle V est le nombre de sommets. Avec une file de priorité, la complexité peut réduire à O((E+V)imesextlog(V))\displaystyle O((E + V) imes ext{log}(V)), où E\displaystyle E est le nombre d'arêtes. La complexité spatiale est O(V)\displaystyle O(V).

Questions dans ce set(80)

1. Quel est le but principal de l'algorithme de Dijkstra ?

A.Trouver le chemin le plus court dans un graphe pondéré.
B.Trouver tous les chemins possibles.
C.Calculer le poids total d'un graphe.
D.Identifier les nœuds non visités.

2. Quelle est la complexité temporelle de l'algorithme de Dijkstra dans le cas général ?

A.O((V+E)×log⁡(V))\displaystyle O((V + E) \times \log(V))
B.O(V2)\displaystyle O(V^2)
C.O(E)\displaystyle O(E)
D.O(V+E)\displaystyle O(V + E)

3. Quelle est la première étape de l'algorithme de Dijkstra?

A.Initialiser les distances
B.Choisir un nœud aléatoire
C.Calculer les poids des arêtes
D.Visiter tous les nœuds

4. Quel est le principal objectif de l'algorithme de Dijkstra ?

A.Trouver le chemin le plus court
B.Trouver le chemin le plus long
C.Calculer la distance totale
D.Identifier tous les chemins possibles

5. Qu'est-ce qu'un graphe pondéré ?

A.Un ensemble de nœuds sans arêtes.
B.Un graphe où toutes les arêtes ont la même valeur.
C.Un ensemble de nœuds reliés par des arêtes avec des valeurs numériques.
D.Un graphe qui ne peut pas être parcouru.

6. Quel est le principal avantage d'utiliser une file de priorité dans Dijkstra ?

A.Réduit la complexité spatiale
B.Améliore la complexité temporelle
C.Simplifie l'algorithme
D.Élimine les poids négatifs

7. Quel nœud Dijkstra choisit-il en premier?

A.Le nœud avec la distance maximale
B.Le nœud avec la distance minimale non visitée
C.Un nœud au hasard
D.Le nœud le plus éloigné

8. Dans quel contexte Dijkstra est-il couramment utilisé ?

A.L'analyse de données
B.La navigation GPS
C.La cryptographie
D.Le traitement d'images

9. Dans l'algorithme de Dijkstra, que représente le nœud source ?

A.Le nœud avec la distance maximale.
B.Le point de départ pour les calculs de distance.
C.Un nœud qui a été visité.
D.Un nœud qui n'a pas de voisins.

10. Vrai ou faux : Dijkstra peut gérer les graphes avec des poids négatifs.

A.Vrai
B.Faux
C.Cela dépend de la structure des données
D.Uniquement avec une version modifiée

11. Quelle condition doit respecter le poids des arêtes pour que Dijkstra fonctionne correctement?

A.Ils peuvent être négatifs
B.Ils doivent être positifs
C.Ils doivent être égaux
D.Ils peuvent être nuls

12. Vrai ou faux : Dijkstra peut fonctionner avec des poids négatifs.

A.Vrai
B.Faux
C.Cela dépend du graphe
D.Seulement avec certaines variantes

13. Qu'est-ce qu'une arête dans un graphe ?

A.Une connexion entre deux nœuds.
B.Une valeur numérique.
C.Un type de graphe.
D.Un nœud isolé.

14. Dans un graphe dense, quelle est la complexité temporelle de Dijkstra ?

A.O(V)\displaystyle O(V)
B.O(V2)\displaystyle O(V^2)
C.O((V+E)×log⁡(V))\displaystyle O((V + E) \times \log(V))
D.O(E)\displaystyle O(E)

15. Que se passe-t-il lorsque le nœud courant est visité?

A.Sa distance peut encore être mise à jour
B.Sa distance devient infinie
C.Sa distance ne sera plus mise à jour
D.Il est supprimé du graphe

16. Quel est un avantage de l'algorithme A* par rapport à Dijkstra ?

A.Il explore moins de chemins
B.Il est plus facile à coder
C.Il fonctionne avec des poids négatifs
D.Il est plus lent

17. Comment est défini le poids d'une arête ?

A.Comme la distance entre deux nœuds.
B.Comme une valeur unique pour chaque nœud.
C.Comme une valeur numérique représentant le coût de traverser l'arête.
D.Comme le nombre total de nœuds dans un graphe.

18. Que se passe-t-il si Dijkstra ne trouve pas de chemin vers un sommet ?

A.Il retourne le sommet comme accessible
B.Il attribue une distance infinie
C.Il génère une erreur
D.Il continue de chercher dans d'autres graphes

19. Quel est le rôle de la file de priorité dans l'algorithme de Dijkstra?

A.Elle stocke tous les nœuds visités
B.Elle aide à choisir le nœud avec la distance maximale
C.Elle permet de sélectionner le nœud avec la distance minimale
D.Elle calcule le poids des arêtes

20. Dans quel secteur Dijkstra est-il utilisé pour la planification de réseaux ?

A.Énergie
B.Informatique
C.Finance
D.Agriculture

21. Que contient la table des distances dans l'algorithme de Dijkstra ?

A.Les poids de toutes les arêtes.
B.Les distances minimales connues de chaque nœud au nœud source.
C.Les nœuds visités seulement.
D.Un historique des nœuds traversés.

22. Quel est l'effet de la densité des arêtes sur la performance de Dijkstra ?

A.Aucune influence
B.Augmente la complexité temporelle
C.Réduit la complexité spatiale
D.Améliore la performance dans tous les cas

23. Comment Dijkstra met-il à jour les distances des voisins?

A.Il les ignore
B.Il les copie depuis le nœud courant
C.Il vérifie si une distance plus courte est possible
D.Il leur attribue une distance fixe

24. Quel type de graphes Dijkstra peut-il gérer ?

A.Graphes orientés
B.Graphes non orientés
C.Graphes non pondérés
D.Graphes à poids négatifs

25. Qu'est-ce qu'un nœud visité ?

A.Un nœud dont la distance minimale a été déterminée.
B.Un nœud qui n'a pas été exploré.
C.Un nœud avec le plus grand poids.
D.Un nœud avec plusieurs arêtes.

26. Dijkstra est optimal pour quels types de graphes ?

A.Graphes avec des poids négatifs
B.Graphes non orientés
C.Graphes avec des poids non négatifs
D.Graphes avec cycles

27. Quelle est la condition d'arrêt de l'algorithme de Dijkstra?

A.Tous les nœuds sont visités
B.Le nœud de départ est atteint
C.La distance maximale est atteinte
D.Tous les poids sont calculés

28. Quel est un exemple d'application de Dijkstra en logistique ?

A.Optimisation des coûts de production
B.Planification des horaires de travail
C.Calcul du chemin le plus court pour la livraison
D.Analyse des données de vente

29. Qu'est-ce qu'un nœud non visité ?

A.Un nœud avec une distance minimale connue.
B.Un nœud dont la distance minimale n'a pas encore été déterminée.
C.Un nœud qui a été traité.
D.Un nœud qui n'a pas de poids.

30. Quel algorithme est souvent comparé à Dijkstra ?

A.Prim
B.Kruskal
C.Bellman-Ford
D.A*

31. Vrai ou faux: L'algorithme de Dijkstra fonctionne uniquement sur des graphes dirigés.

A.Vrai
B.Faux
C.Cela dépend des poids
D.Uniquement pour les graphes complets

32. Vrai ou faux : Dijkstra est applicable pour les interactions dans les réseaux sociaux.

A.Vrai
B.Faux
C.Seulement pour l'analyse des utilisateurs
D.Seulement pour les connexions amicales

33. Quelle est la fonction de la vérification de voisins dans l'algorithme ?

A.Évaluer les nœuds adjacents d'un nœud visité.
B.Éliminer les nœuds non visités.
C.Calculer le poids total d'un graphe.
D.Mettre à jour le poids de tous les nœuds.

34. Vrai ou faux : Dijkstra traite chaque sommet plusieurs fois.

A.Vrai
B.Faux
C.Uniquement dans des graphes denses
D.Cela dépend de l'implémentation

35. Quel est le rôle de la distance courante dans Dijkstra?

A.Elle détermine le poids total du graphe
B.Elle est utilisée pour visiter tous les nœuds
C.Elle aide à identifier le nœud à explorer ensuite
D.Elle détermine si un nœud est un voisin

36. Comment Dijkstra est-il utilisé dans les systèmes de transport public ?

A.Pour établir les horaires des trains
B.Pour planifier les itinéraires les plus rapides
C.Pour gérer la billetterie
D.Pour analyser le trafic

37. Quel type d'approche utilise l'algorithme de Dijkstra ?

A.Approche récursive.
B.Approche gloutonne.
C.Approche par force brute.
D.Approche dynamique.

38. Quelle structure de données peut améliorer l'efficacité de Dijkstra ?

A.Tableaux simples
B.Listes chaînées
C.Tas binaire
D.Matrices d'adjacence

39. Que signifie 'nœud final' dans l'algorithme de Dijkstra?

A.C'est le nœud avec le poids maximal
B.C'est le nœud que l'on souhaite atteindre avec le coût minimum
C.C'est le premier nœud visité
D.C'est un nœud sans voisins

40. Dans quel domaine Dijkstra est-il utilisé pour le pathfinding ?

A.Intelligence artificielle
B.Biologie
C.Économie
D.Philosophie

41. L'algorithme de Dijkstra est-il toujours correct ?

A.Oui, pour tous les graphes.
B.Non, uniquement pour les graphes à poids négatifs.
C.Oui, pour les graphes à poids non négatifs.
D.Non, il ne peut pas garantir un chemin.

42. Dans quelle situation Dijkstra est-il moins efficace ?

A.Graphes de petite taille
B.Graphes très denses
C.Graphes avec poids négatifs
D.Graphes avec peu d'arêtes

43. Quelle est la formule utilisée pour mettre à jour les distances?

A.D(Y) = D(X) + poids(X,Y)
B.D(Y) = D(Y) + poids(X,Y)
C.D(Y) = min(D(Y), D(X) + poids(X,Y))
D.D(Y) = D(X) - poids(X,Y)

44. Quel est un des inconvénients de l'algorithme de Dijkstra ?

A.Il ne peut pas trouver de solutions optimales
B.Il peut être lent avec de grands graphes
C.Il ne gère pas les graphes orientés
D.Il nécessite une heuristique complexe

45. Quelle est la complexité temporelle de l'algorithme de Dijkstra avec un tas de Fibonacci ?

A.O(V^2)
B.O(V + E log V)
C.O(E + log V)
D.O(V log E)

46. Quelle est la complexité spatiale de l'algorithme de Dijkstra ?

A.O(E)\displaystyle O(E)
B.O(V)\displaystyle O(V)
C.O(V+E)\displaystyle O(V + E)
D.O(1)\displaystyle O(1)

47. Que se passe-t-il si un nœud a déjà été visité?

A.Il peut être revisité avec une distance différente
B.Il n'est plus pris en compte pour les mises à jour
C.Il est supprimé du graphe
D.Il est marqué comme nœud de départ

48. Dijkstra peut-il être utilisé pour optimiser les trajets de secours dans le domaine médical ?

A.Oui
B.Non
C.Seulement pour les urgences
D.Seulement pour le transport de médicaments

49. Quel exemple simple pourrait illustrer l'algorithme de Dijkstra ?

A.Un graphe avec un seul nœud.
B.Un graphe où toutes les distances sont infinies.
C.Un graphe avec des chemins alternatifs ayant des poids différents.
D.Un graphe sans arêtes.

50. Que signifie un sommet isolé dans le contexte de Dijkstra ?

A.Un sommet sans arêtes
B.Un sommet avec poids négatif
C.Un sommet déjà traité
D.Un sommet final

51. Vrai ou faux: Dijkstra peut gérer des poids négatifs.

A.Vrai
B.Faux
C.Cela dépend du nombre de nœuds
D.Uniquement pour les graphes non dirigés

52. Quel est un exemple d'application de Dijkstra dans le domaine des télécommunications ?

A.Analyse des données clients
B.Établissement de chemins de communication efficaces
C.Développement de nouveaux produits
D.Gestion des ressources humaines

53. Comment Dijkstra sélectionne-t-il le nœud à explorer ?

A.Au hasard.
B.Celui avec le poids le plus élevé.
C.Celui avec la plus petite distance connue.
D.Celui avec le plus de voisins.

54. Quel est le principal inconvénient de Dijkstra par rapport à Bellman-Ford ?

A.Moins précis
B.Plus complexe
C.Ne gère pas les poids négatifs
D.Plus lent dans tous les cas

55. Quelle est une différence clé entre Dijkstra et Bellman-Ford?

A.Dijkstra fonctionne avec des poids négatifs
B.Bellman-Ford est plus rapide
C.Dijkstra ne gère pas les poids négatifs
D.Bellman-Ford utilise une file de priorité

56. Quel est un cas d'utilisation de Dijkstra dans la robotique ?

A.Planification de la production
B.Navigation en évitant les obstacles
C.Gestion des stocks
D.Calcul des délais de livraison

57. Qu'est-ce que le chemin le plus court ?

A.Le chemin le plus rapide à travers un graphe.
B.La séquence de nœuds reliant un nœud source à un nœud cible avec la distance minimale.
C.Un chemin qui traverse tous les nœuds.
D.Le chemin avec le plus de poids.

58. Quel est un scénario où Dijkstra excelle ?

A.Graphe avec poids négatifs
B.Graphe avec poids unitaires
C.Graphe très dense
D.Graphe avec beaucoup de cycles

59. Que signifie 'mettre à jour les distances' dans le contexte de Dijkstra?

A.Changer les poids des arêtes
B.Ajuster la distance des nœuds pour refléter le chemin le plus court
C.Ajouter de nouveaux nœuds au graphe
D.Supprimer des nœuds

60. Vrai ou faux : Dijkstra est limité aux applications de transport.

A.Vrai
B.Faux
C.Uniquement pour la logistique
D.Seulement pour la cartographie

61. Quel est le processus de parcours dans Dijkstra ?

A.Explorer toutes les arêtes simultanément.
B.Suivre les arêtes et mettre à jour les distances minimum.
C.Évaluer uniquement les nœuds non visités.
D.Calculer le poids total de chaque nœud.

62. Vrai ou faux : Dijkstra est toujours le meilleur choix pour les chemins minimaux.

A.Vrai
B.Faux
C.Uniquement pour les graphes denses
D.Uniquement pour les graphes orientés

63. Quel est le résultat final de l'algorithme de Dijkstra?

A.Les poids des arêtes sont calculés
B.Le chemin le plus court vers le nœud final est trouvé
C.Tous les nœuds sont visités
D.Le graphe est redessiné

64. Quel est un exemple d'application de Dijkstra dans les cartes géographiques ?

A.Mesurer des distances
B.Déterminer le chemin le plus court entre deux villes
C.Créer des cartes interactives
D.Analyser les données démographiques

65. Quelle est la première étape lors de l'initialisation de l'algorithme de Dijkstra ?

A.Déterminer les nœuds non visités.
B.Initialiser les distances à zéro pour tous les nœuds.
C.Définir la distance vers le nœud source à zéro et les autres à l'infini.
D.Calculer les poids des arêtes.

66. Comment peut-on optimiser Dijkstra pour obtenir des performances proches de O(E)\displaystyle O(E) ?

A.En utilisant un tableau
B.En utilisant une liste chaînée
C.En optimisant la file de priorité
D.En réduisant le nombre de sommets

67. Comment Dijkstra traite-t-il les nœuds non visités?

A.Ils sont éliminés
B.Ils sont ajoutés à la file de priorité
C.Ils sont marqués comme visités
D.Ils sont ignorés

68. Comment Dijkstra impacte-t-il la gestion des ressources ?

A.En augmentant les coûts
B.En optimisant les trajets
C.En réduisant le personnel
D.En simplifiant la logistique

69. Pourquoi Dijkstra met-il à jour les distances des nœuds non visités ?

A.Pour garantir que les nœuds soient tous visités.
B.Pour trouver une voie moins coûteuse.
C.Pour augmenter le poids total du graphe.
D.Pour simplifier le graphe.

70. Quelle est l'impact de l'optimisation des structures de données sur le temps d'exécution de Dijkstra ?

A.Aucune amélioration
B.Peut réduire le temps jusqu'à 30%
C.Augmente le temps d'exécution
D.Ralentit toujours l'algorithme

71. Quel impact a le nœud courant sur les voisins dans Dijkstra?

A.Il n'a aucun impact
B.Il détermine les distances possibles de mise à jour
C.Il les supprime
D.Il les ignore

72. Dans quel domaine Dijkstra est-il utilisé pour résoudre des problèmes d'optimisation ?

A.L'éducation
B.La recherche opérationnelle
C.Le divertissement
D.La médecine

73. Quand l'algorithme de Dijkstra s'arrête-t-il ?

A.Lorsque tous les nœuds ont été visités ou que le nœud cible est atteint.
B.Lorsque tous les nœuds non visités sont évalués.
C.Lorsque la distance maximale est atteinte.
D.Lorsque le poids total est calculé.

74. Analysez la complexité de Dijkstra dans un graphe à faible densité.

A.O(V+E)\displaystyle O(V + E)
B.O(V2)\displaystyle O(V^2)
C.O(E)\displaystyle O(E)
D.O(1)\displaystyle O(1)

75. Que signifie 'poids des arêtes' dans le contexte de l'algorithme de Dijkstra?

A.Le coût pour visiter un nœud
B.La distance entre deux nœuds
C.Le nombre de voisins d'un nœud
D.La durée de l'algorithme

76. Dans quel domaine Dijkstra aide-t-il à optimiser les itinéraires pour les transports en commun ?

A.La planification des horaires des bus
B.La gestion des réservations d'hôtel
C.Le suivi en temps réel des colis
D.L'analyse des tendances de consommation

77. Quel terme décrit le coût pour atteindre un nœud depuis le nœud source dans l'algorithme de Dijkstra ?

A.Distance
B.Poids
C.Arête
D.Nœud visité

78. Quelle est la complexité temporelle de Dijkstra lorsqu'il est utilisé avec une file de priorité optimisée ?

A.O((V + E) log(V))
B.O(V^2)
C.O(E)
D.O(V + E)

79. Quel est l'effet de choisir un nœud avec une distance minimale dans l'algorithme de Dijkstra?

A.Il permet de garantir que le chemin vers ce nœud est le plus court connu.
B.Il invalide toutes les distances précédentes.
C.Il augmente le poids des arêtes sortantes.
D.Il crée de nouveaux nœuds dans le graphe.

80. Quelle application de Dijkstra est incorrecte ?

A.Optimisation des trajets de livraison
B.Calcul des chemins dans les jeux vidéo
C.Analyse des interactions sur les réseaux sociaux
D.Création de contenu numérique

Sets associés

Créez votre propre set d'étude

Téléchargez un PDF, collez vos notes ou décrivez un sujet – l'IA génère des fiches, des quiz et plus en quelques secondes.

Mis en avant sur