Table des matières
Algorithme Prim
Méthode Kruskal
Conclusion
Maison développement back-end C++ Pourquoi l'algorithme d'arbre couvrant minimum de Prim et Kruskal échoue-t-il dans les graphes orientés ?

Pourquoi l'algorithme d'arbre couvrant minimum de Prim et Kruskal échoue-t-il dans les graphes orientés ?

Sep 02, 2023 pm 05:29 PM
失败 kruskal graphe orienté prim

Pourquoi lalgorithme darbre couvrant minimum de Prim et Kruskal échoue-t-il dans les graphes orientés ?

La méthode de Prim et l'algorithme de Kruskal sont deux méthodes courantes pour localiser le MST (arbre couvrant minimum) dans des graphiques non orientés. Cependant, ces techniques ne peuvent pas générer un MST correct pour les graphes orientés. En effet, les graphes orientés ne correspondent pas aux hypothèses et méthodes de base utilisées par les algorithmes de Prim et Kruskal.

Algorithme Prim

Tout d'abord, il y a l'algorithme de Prim, qui consiste à ajouter des arêtes à un arbre couvrant minimum en expansion de manière gourmande jusqu'à ce que tous les sommets soient couverts. Les sommets à l'intérieur du MST sont connectés aux sommets à l'extérieur du MST via l'arête ayant le poids le plus faible. Étant donné que toutes les arêtes d’un graphe non orienté peuvent se déplacer dans n’importe quelle direction, le chemin le plus court entre le MST et les sommets externes est facile à trouver. Cependant, dans un graphe orienté, les arêtes pointent toujours dans une direction et il peut ne pas y avoir de ligne droite reliant le MST et les sommets externes. Cela contredit le principe de base de l'algorithme de Prim.

Un exemple de ceci est l'arête dirigée (u,v) qui relie le sommet u dans MST au sommet v dans le graphe externe de MST. Étant donné que le MST dans la méthode de Prim doit être connecté aux sommets externes via des arêtes directes, les arêtes (u, v) sont ignorées, ce qui entraîne un MST qui peut être inexact ou insuffisant.

Méthode Kruskal

La méthode de Kruskal est une technique de tri des bords pondérés qui ajoute à plusieurs reprises des bords de poids minimum qui ne génèrent pas de cycles au graphique. Cette méthode fonctionne mieux pour les graphiques non orientés car les bords pointent dans deux directions, ce qui permet de détecter facilement les cycles. Puisque la direction des arêtes est importante dans les graphes orientés, le concept de cycles devient plus subtil. L'approche de Kruskal ignore cette complexité.

Supposons qu'il y ait une boucle dirigée dans le MST que vous construisez. Lorsqu'elle est appliquée à des graphes orientés, la technique de Kruskal peut générer des arbres contenant des cycles orientés. Cette méthode produit un MST inexact car son mécanisme de détection de cycle non orienté basé sur les bords ne parvient pas à capturer correctement les cycles dans les graphiques orientés.

Conclusion

On peut conclure que si les techniques de Prim et Kruskal sont utiles pour localiser les MST dans les graphes non orientés, elles ne conviennent pas aux graphes orientés. Ces méthodes produisent des MST inexacts ou inadéquats car les hypothèses et mécanismes sous-jacents sur lesquels elles s'appuient ne tiennent pas dans le cadre de graphes orientés. Les graphes orientés ont leurs propres propriétés et complexités, il est donc important d'utiliser des techniques spécifiques aux digraphes (telles que la méthode Chu−Liu/Edmonds) pour obtenir des arbres couvrants minimaux.

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)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

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)

Comment résoudre les problèmes rencontrés dans la mise à jour Win11 23H2 ? Comment résoudre les problèmes rencontrés dans la mise à jour Win11 23H2 ? Dec 25, 2023 pm 12:18 PM

Les utilisateurs mettent généralement à niveau la version système de leur ordinateur pour résoudre certains problèmes. Si l'utilisateur ne parvient pas à mettre à jour vers la dernière version de 23H2 à l'aide du système win11, il existe trois méthodes pour résoudre votre problème. Que faire si la mise à jour Win11 23H2 échoue. Méthode 1 : contournez TPM1, cliquez sur "Explorateur de fichiers - Afficher" et cochez l'option "Éléments cachés" dans le menu déroulant. 2. Accédez et supprimez "C:\$WINDOWS.~BT\Sources\Panther-Appraiser_Data.ini". 3. Recréez ensuite un dossier portant le même nom à cet emplacement, puis cliquez pour annuler l'option "Masquer les éléments". 4. Remettez à jour le système et cliquez enfin sur « Wind

Pourquoi le stockage local ne parvient-il pas à sauvegarder les données ? Pourquoi le stockage local ne parvient-il pas à sauvegarder les données ? Jan 03, 2024 pm 01:41 PM

Pourquoi le stockage des données sur le stockage local échoue-t-il toujours ? Besoin d'exemples de code spécifiques Dans le développement front-end, nous avons souvent besoin de stocker des données côté navigateur pour améliorer l'expérience utilisateur et faciliter l'accès ultérieur aux données. Localstorage est une technologie fournie par HTML5 pour le stockage de données côté client. Elle fournit un moyen simple de stocker des données et de maintenir la persistance des données après l'actualisation ou la fermeture de la page. Cependant, lorsque nous utilisons le stockage local pour le stockage de données, parfois

Comment résoudre le problème après l'échec de la mise à niveau de Win7 vers Win10 ? Comment résoudre le problème après l'échec de la mise à niveau de Win7 vers Win10 ? Dec 26, 2023 pm 07:49 PM

Si le système d'exploitation que nous utilisons est Win7, certains amis peuvent ne pas réussir à passer de Win7 à Win10 lors de la mise à niveau. L'éditeur pense que nous pouvons réessayer la mise à jour pour voir si cela peut résoudre le problème. Jetons un coup d'œil à ce que l'éditeur a fait pour plus de détails ~ Que faire si Win7 ne parvient pas à passer à Win10 Méthode 1 : 1. Il est recommandé de télécharger d'abord un pilote pour évaluer si votre ordinateur peut être mis à niveau vers Win10. utilisez le test du pilote après la mise à niveau. Vérifiez s'il y a des anomalies du pilote, puis corrigez-les en un seul clic. Méthode 2 : 1. Supprimez tous les fichiers sous C:\Windows\SoftwareDistribution\Download. 2.win+R exécutez "wuauclt.e

Comment résoudre le problème de l'échec de la mise à jour pip ? Comment résoudre le problème de l'échec de la mise à jour pip ? Jan 27, 2024 am 08:32 AM

Que dois-je faire si la mise à jour de pip échoue ? Récemment, lors du développement en Python, j'ai rencontré des problèmes d'échec de la mise à jour de pip. Lors du développement, nous devons souvent utiliser pip pour installer, mettre à niveau et supprimer les bibliothèques tierces Python. L'échec de la mise à jour de pip affectera sérieusement notre travail de développement. Cet article abordera certains échecs courants de mise à jour de pip et fournira des solutions, dans l'espoir d'aider les développeurs rencontrant des problèmes similaires. Premièrement, lorsque nous exécutons pipinstall-

Problème d'installation de PHPStudy révélé : que dois-je faire si la version PHP 5.5 échoue ? Problème d'installation de PHPStudy révélé : que dois-je faire si la version PHP 5.5 échoue ? Feb 29, 2024 am 11:54 AM

PHPStudy est un outil d'environnement de développement qui intègre PHP, Apache et MySQL, offrant aux développeurs un moyen pratique de créer un environnement de serveur local. Cependant, vous pouvez rencontrer certains problèmes lors du processus d'installation, dont l'échec de l'installation de la version PHP5.5. Cet article discutera des raisons et des solutions à l'échec de PHPStudy à installer la version PHP5.5 et fournira des exemples de code spécifiques pour aider les lecteurs à résoudre ce problème. PHPStudy installe la version PHP5.5

Comment réparer le code d'erreur de mise à jour Win10 0x800f0982 Comment réparer le code d'erreur de mise à jour Win10 0x800f0982 Jan 14, 2024 pm 05:54 PM

Le système Win10 a lentement commencé à se répandre sur le marché, mais il existe encore de nombreux bugs lors de son utilisation. Récemment, de nombreux amis ont rencontré le problème de l'échec de la mise à jour 0x800f0982. Ce qui suit vous apportera des solutions détaillées. La mise à jour Win10 échoue et ne peut pas être démarrée : Méthode 1. Mise à jour anormale du système Supprimez les logiciels anormaux 1. Désinstallez et réinstallez tous les modules linguistiques récemment ajoutés. 2. Sélectionnez « Rechercher les mises à jour » et installez la mise à jour. Méthode 2 : Réinitialiser l'ordinateur si la mise à jour est anormale 1. Cliquez sur Démarrer pour ouvrir « Paramètres » et sélectionnez « Mise à jour et sécurité ». 2. Cliquez sur "Récupération" sur la gauche et sélectionnez "Démarrer" sous l'option de récupération "Réinitialiser ce PC". 3. Sélectionnez « Conserver mes fichiers ».

Comment utiliser l'algorithme de Kruskal en C++ Comment utiliser l'algorithme de Kruskal en C++ Sep 19, 2023 pm 04:10 PM

Comment utiliser l'algorithme de Kruskal en C++ L'algorithme de Kruskal est un algorithme glouton couramment utilisé pour résoudre le problème de l'arbre couvrant minimum. En programmation en C++, nous pouvons comprendre et utiliser l'algorithme de Kruskal à travers des exemples de code simples. L'idée de base de l'algorithme de Kruskal est de sélectionner en continu l'arête ayant le plus petit poids d'arête et qui ne forme pas de boucle tant que tous les sommets ne sont pas inclus dans l'arbre couvrant. Ci-dessous, nous présenterons étape par étape comment utiliser C++ pour implémenter l'algorithme de Kruskal. Première étape : préparation des données Tout d'abord, je

Résolution des problèmes d'installation de la mise à jour KB4023057 Résolution des problèmes d'installation de la mise à jour KB4023057 Dec 27, 2023 am 09:41 AM

Récemment, la version win101909 a cessé de fonctionner et 21h1 est sur le point d'être lancée. Microsoft a proposé le programme de mise à jour kb4023057 aux utilisateurs, ce qui peut aider les utilisateurs à résoudre divers problèmes d'échec de mise à jour. Mais que devons-nous faire si nous rencontrons un échec d’installation de la mise à jour kb4023057 ? Ne vous inquiétez pas, examinons la solution ci-dessous ? Solution à l'échec de l'installation de la mise à jour kb4023057 1. Ouvrez d'abord « Paramètres » et sélectionnez « Mise à jour et sécurité » 2. Cliquez sur « Dépannage » sur la gauche 3. Recherchez « Windows Update » puis cliquez sur « Exécuter l'utilitaire de résolution des problèmes » 4. Attendez que le problème disparaisse. être détecté. 5. Une fois la détection terminée, cliquez sur "Appliquer ce correctif". 6. Enfin, attendez simplement que la réparation soit terminée.

See all articles