Categories: Allgemein

7 Unterschied zwischen Prims und Kruskals Algorithmus mit Beispielen

Ein  Minimum Spanning Tree  ( MST ) oder  Minimum Weight Spanning Tree  ist eine Teilmenge der Kanten eines zusammenhängenden, kantengewichteten ungerichteten Graphen, der alle Knoten miteinander verbindet, ohne Zyklen und mit dem minimal möglichen Gesamtkantengewicht. Das heißt, es ist ein aufspannender Baum, dessen Summe der Kantengewichte kleiner oder gleich dem Gewicht jedes anderen aufspannenden Baums ist. Allgemeiner gesagt hat jeder kantengewichtete ungerichtete Graph (nicht notwendigerweise zusammenhängend) einen  minimalen Spannwald , der eine Vereinigung der minimalen Spannbäume für seine verbundenen Komponenten ist. Das Gewicht eines Spannbaums ist die Summe der Gewichte, die jeder Kante des Spannbaums gegeben wird. Es gibt zwei Methoden, um den minimalen Spanning Tree zu finden:

  • Kruskals Algorithmus
  • Prims Algorithmus

Contents

Prims Algorithmus

Der Algorithmus von Prim wird verwendet, um den minimalen Spannbaum aus einem Graphen zu finden. Der Algorithmus von Prim findet die Teilmenge der Kanten, die jeden Knoten des Graphen enthält, so dass die Summe der Gewichte der Kanten minimiert werden kann. Der Algorithmus von Prim beginnt mit dem einzelnen Knoten und untersucht bei jedem Schritt alle benachbarten Knoten mit allen Verbindungskanten. Die Kanten mit den minimalen Gewichtungen, die keine Zyklen im Diagramm verursachen, werden ausgewählt.

Anwendungen des Algorithmus von Prim

  • Verlegen von Kabeln elektrischer Leitungen
  • Im Netzwerkdesign
  • Erstellen von Protokollen in Netzwerkzyklen

Fakten über Prims Algorithmus

  • Dieser Algorithmus dient zum Erhalten eines minimalen Spannbaums durch Auswählen der benachbarten Scheitel von bereits ausgewählten Scheiteln. 
  • Der Algorithmus von Prim beginnt mit einem Knoten.
  • Die Algorithmen von Prim reichen von einem Knoten zum anderen.
  • Es durchquert einen Knoten mehr als einmal, um den Mindestabstand zu erhalten.
  • Der Algorithmus von Prim hat eine Zeitkomplexität von O(V2), wobei V die Anzahl der Scheitelpunkte ist und mit Fibonacci-Heaps auf O(E + log V) verbessert werden kann.
  • Der Algorithmus von Prim liefert eine verbundene Komponente und funktioniert nur auf einem verbundenen Graphen.
  • Der Algorithmus von Prim läuft in dichten Graphen schneller.

Kruskals Algorithmus 

Der Algorithmus von Kruskal als ein Algorithmus mit minimalem Spannbaum verwendet eine andere Logik als der Algorithmus von Prim, um den MST eines Graphen zu finden. Anstatt von einem Scheitelpunkt aus zu beginnen, sortiert Kruskals Algorithmus alle Kanten von niedriger bis hoher Gewichtung und fügt die niedrigsten Kanten hinzu, bis alle Scheitelpunkte bedeckt sind, wobei die Kanten ignoriert werden, die einen Zyklus erzeugen. Der Algorithmus von Kruskal folgt dem gierigen Ansatz, der in jeder Phase der Fokussierung auf ein globales Optimum eine optimale Lösung findet.

Anwendungen des Kruskal-Algorithmus

  • Elektrische Verdrahtungsanordnung
  • Computernetzwerk (LAN-Verbindung)

Fakten über Kruskals Algorithmus

  • Dieser Algorithmus dient zum Erhalten eines minimalen Spannbaums, aber es ist nicht notwendig, benachbarte Scheitel von bereits ausgewählten Scheiteln auszuwählen.
  • Der Algorithmus von Kruskal beginnt mit einer Kante.
  • Der Algorithmus von Kruskal wählt die Kanten so aus, dass die Position der Kante nicht auf dem letzten Schritt basiert.
  • Es durchquert einen Knoten nur einmal.
  • Die Zeitkomplexität des Kruskal-Algorithmus ist O(E log V), wobei V die Anzahl der Knoten ist.
  • Der Algorithmus von Kruskal kann in jeder Instanz einen Wald (nicht verbundene Komponenten) generieren und auch mit nicht verbundenen Komponenten arbeiten.
  • Der Algorithmus von Kruskal läuft in spärlichen Graphen schneller. 

Lesen Sie auch: Unterschied zwischen Baum und Graph

Unterschied zwischen Prims und Kruskals Algorithmus in Tabellenform

VERGLEICHSGRUNDLAGEPRIMs ALGORITHMUSKRUSKALS ALGORITHMUS
BeschreibungDieser Algorithmus dient zum Erhalten eines minimalen Spannbaums durch Auswählen der benachbarten Scheitel von bereits ausgewählten Scheiteln.   Dieser Algorithmus dient zum Erhalten eines minimalen Spannbaums, aber es ist nicht notwendig, benachbarte Scheitel von bereits ausgewählten Scheiteln auszuwählen.  
EinleitungDer Algorithmus von Prim beginnt mit einem Knoten.  Der Algorithmus von Kruskal beginnt mit einer Kante.  
SpannendDie Algorithmen von Prim reichen von einem Knoten zum anderen.  Der Algorithmus von Kruskal wählt die Kanten so aus, dass die Position der Kante nicht auf dem letzten Schritt basiert.  
TraversierenEs durchquert einen Knoten mehr als einmal, um den Mindestabstand zu erhalten.    Es durchquert einen Knoten nur einmal.  
ZeitkomplexitätDer Algorithmus von Prim hat eine Zeitkomplexität von O(V2), wobei V die Anzahl der Scheitelpunkte ist und mit Fibonacci-Heaps auf O(E + log V) verbessert werden kann.  Die Zeitkomplexität des Kruskal-Algorithmus ist O(E log V), wobei V die Anzahl der Knoten ist.  
Angeschlossene KomponentenDer Algorithmus von Prim liefert eine verbundene Komponente und funktioniert nur auf einem verbundenen Graphen.  Der Algorithmus von Kruskal kann in jeder Instanz einen Wald (nicht verbundene Komponenten) generieren und auch mit nicht verbundenen Komponenten arbeiten.  
GeschwindigkeitDer Algorithmus von Prim läuft in dichten Graphen schneller.Der Algorithmus von Kruskal läuft in spärlichen Graphen schneller.   

Lesen Sie auch: Unterschied zwischen DFS und BFS bei künstlicher Intelligenz

osky

Recent Posts

Was ist der Unterschied zwischen Yoga und Pilates

Fühlen Sie sich oft gestresst, verspannt und auf der Suche nach einer Lösung für Ihr…

3 Wochen ago

Was ist der Unterschied zwischen Kaffee und Espresso?

Haben Sie sich jemals gefragt, warum Ihr Morgenkaffee anders schmeckt als der Espresso aus Ihrem…

3 Wochen ago

Freeway vs. Highway: Ein detaillierter Blick auf die Feinen Unterschiede im Straßenverkehr

Einleitung: Die Begriffe "Freeway" und "Highway" werden oft synonym verwendet, aber es gibt subtile Unterschiede…

1 Jahr ago

Burrito vs. Enchilada: Die Feinen Unterschiede Zwischen Zwei Klassikern der Mexikanischen Küche

Burritos und Enchiladas sind zwei beliebte Gerichte der mexikanischen Küche, die oft miteinander verwechselt werden.…

1 Jahr ago

Ein umfassender Vergleich zwischen Replikation und Transkription

In der Zellbiologie spielen Replikation und Transkription entscheidende Rollen im genetischen Prozess. Beide sind Mechanismen,…

1 Jahr ago

Verständnis des Unterschieds zwischen Osmose und Diffusion

Osmose und Diffusion sind zwei grundlegende Prozesse, die in der Zellbiologie und Chemie eine entscheidende…

1 Jahr ago