Maison Problème commun algorithme du chemin le plus court

algorithme du chemin le plus court

Jun 05, 2019 pm 04:12 PM
chemin le plus court

Parmi les chemins qui partent d'un sommet et atteignent un autre sommet le long des bords du graphique, le chemin avec la plus petite somme de poids sur chaque bord est appelé le chemin le plus court. Il existe les algorithmes suivants pour résoudre le problème du chemin le plus court, l'algorithme de Dijkstra, l'algorithme de Bellman-Ford, l'algorithme de Floyd et l'algorithme SPFA, etc.

algorithme du chemin le plus court

Définition

Le problème du chemin le plus court est un problème d'algorithme classique dans la recherche en théorie des graphes, visant à trouver des graphiques ( Le chemin le plus court entre deux nœuds (composé de nœuds et de chemins). La forme spécifique de l'algorithme comprend :

(1) Le problème de la détermination du chemin le plus court à partir du point de départ - c'est-à-dire le problème de trouver le chemin le plus court lorsque le nœud de départ est connu. Convient pour utiliser l'algorithme de Dijkstra. (Apprentissage recommandé : Tutoriel vidéo PHP)

(2) Le problème de la détermination du chemin le plus court jusqu'au point final - Contrairement au problème de la détermination du point de départ, ce problème est de trouver le chemin le plus court si le nœud final est une question connue. Dans un graphe non orienté, ce problème est tout à fait équivalent au problème de détermination du point de départ. Dans un graphe orienté, ce problème est équivalent au problème de détermination du point de départ en inversant les directions de tous les chemins.

(3) Le problème de déterminer le chemin le plus court entre le point de départ et le point final - c'est-à-dire, étant donné le point de départ et le point final, trouver le chemin le plus court entre les deux nœuds.

(4) Problème global du chemin le plus court - trouvez tous les chemins les plus courts dans le graphique. Convient à l'utilisation de l'algorithme Floyd-Warshall.

Dijkstra

Trouvez le chemin le plus court avec une seule source et sans poids négatif. La rapidité d'exécution est bonne et la complexité temporelle est O(V*V+E). Si le point source est accessible, O(V*lgV+E*lgV) =>O(E*lgV).
Quand il s'agit d'un graphe clairsemé, à ce moment E=V*V/lgV, donc la complexité temporelle de l'algorithme peut être O(V^2). Si le tas de Fibonacci est utilisé comme file d'attente prioritaire, la complexité temporelle de l'algorithme est O(V*lgV + E).

Floyd

Trouvez le chemin le plus court avec plusieurs sources et sans bords de poids négatifs. Utilisez une matrice pour enregistrer le graphique. La rapidité est mauvaise et la complexité temporelle est O(V^3).
L'algorithme de Floyd-Warshall (algorithme de Floyd-Warshall) est un algorithme permettant de résoudre le chemin le plus court entre deux points quelconques. Il peut gérer correctement le problème du chemin le plus court d'un graphe orienté ou d'un poids négatif.

Bellman-Ford

Pour trouver le chemin le plus court à partir d'une seule source, vous pouvez déterminer s'il existe une boucle de poids négative (s'il y en a, alors il n'y en a pas chemin le plus court),
actualité Mieux, complexité temporelle O(VE).

L'algorithme de Bellman-Ford est un algorithme permettant de résoudre le problème du chemin le plus court à source unique.

SPFA

est l'optimisation de file d'attente de Bellman-Ford, qui a une rapidité relativement bonne et une complexité temporelle de O(kE). (k≪≪V).

Semblable à l'algorithme de Bellman-ford, l'algorithme SPFA utilise une série d'opérations de relaxation pour obtenir le chemin le plus court d'un nœud à tous les autres nœuds du graphique. La différence est que l'algorithme SPFA maintient une file d'attente de sorte qu'une fois le chemin le plus court actuel d'un nœud mis à jour, il n'est pas nécessaire de mettre à jour immédiatement les autres nœuds, réduisant ainsi considérablement le nombre d'opérations répétées.

Pour plus d'articles techniques liés à PHP, veuillez visiter la colonne Tutoriel graphique PHP pour apprendre !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Version Web Deepseek Entrée officielle Version Web Deepseek Entrée officielle Mar 12, 2025 pm 01:42 PM

La profondeur domestique de l'IA Dark Horse a fortement augmenté, choquant l'industrie mondiale de l'IA! Cette société chinoise de renseignement artificiel, qui n'a été créée que depuis un an et demi, a gagné des éloges des utilisateurs mondiaux pour ses maquettes gratuites et open source, Deepseek-V3 et Deepseek-R1. Deepseek-R1 est désormais entièrement lancé, avec des performances comparables à la version officielle d'Openaio1! Vous pouvez vivre ses fonctions puissantes sur la page Web, l'application et l'interface API. Méthode de téléchargement: prend en charge les systèmes iOS et Android, les utilisateurs peuvent le télécharger via l'App Store; Version Web Deepseek Entrée officielle: HT

Recherche approfondie Entrée du site officiel Deepseek Recherche approfondie Entrée du site officiel Deepseek Mar 12, 2025 pm 01:33 PM

Au début de 2025, l'IA domestique "Deepseek" a fait un début magnifique! Ce modèle d'IA gratuit et open source a une performance comparable à la version officielle d'OpenAI d'Openai, et a été entièrement lancé sur le côté Web, l'application et l'API, prenant en charge l'utilisation multi-terminale des versions iOS, Android et Web. Recherche approfondie du site officiel de Deepseek et du guide d'utilisation: Adresse officielle du site Web: https://www.deepseek.com/using étapes pour la version Web: cliquez sur le lien ci-dessus pour entrer le site officiel Deepseek. Cliquez sur le bouton "Démarrer la conversation" sur la page d'accueil. Pour la première utilisation, vous devez vous connecter avec votre code de vérification de téléphone mobile. Après vous être connecté, vous pouvez entrer dans l'interface de dialogue. Deepseek est puissant, peut écrire du code, lire des fichiers et créer du code

Comment résoudre le problème des serveurs occupés pour Deepseek Comment résoudre le problème des serveurs occupés pour Deepseek Mar 12, 2025 pm 01:39 PM

Deepseek: Comment gérer l'IA populaire qui est encombré de serveurs? En tant qu'IA chaude en 2025, Deepseek est gratuit et open source et a une performance comparable à la version officielle d'Openaio1, qui montre sa popularité. Cependant, une concurrence élevée apporte également le problème de l'agitation du serveur. Cet article analysera les raisons et fournira des stratégies d'adaptation. Entrée de la version Web Deepseek: https://www.deepseek.com/deepseek serveur Raison: Accès simultané: des fonctionnalités gratuites et puissantes de Deepseek attirent un grand nombre d'utilisateurs à utiliser en même temps, ce qui entraîne une charge de serveur excessive. Cyber ​​Attack: Il est rapporté que Deepseek a un impact sur l'industrie financière américaine.