Video: 3.1 Открываем у себя нужные вам качества 2024
Gieriges Schließen wird oft als Teil eines Optimierungsprozesses verwendet. Der Algorithmus betrachtet das Problem Schritt für Schritt und konzentriert sich nur auf den vorliegenden Schritt. Jeder gierige Algorithmus macht zwei Annahmen:
- Sie können eine einzelne optimale Wahl in einem bestimmten Schritt treffen.
- Indem Sie bei jedem Schritt die optimale Auswahl treffen, finden Sie eine optimale Lösung für das Gesamtproblem.
Sie können viele gierige Algorithmen finden, von denen jeder für bestimmte Aufgaben optimiert ist. Hier sind einige gebräuchliche Beispiele für gierige Algorithmen, die für die Analyse von Graphen und die Datenkomprimierung verwendet werden, und der Grund, warum Sie sie verwenden möchten:
- Kruskal's Minimum Spanning Tree (MST): Dieser Algorithmus demonstriert tatsächlich eines der Prinzipien gieriger Algorithmen, an die man vielleicht nicht sofort denkt. In diesem Fall wählt der Algorithmus die Kante zwischen zwei Knoten mit dem kleinsten Wert, nicht dem größten Wert, wie das Wort greedy anfänglich vermitteln könnte. Diese Art von Algorithmus kann Ihnen helfen, den kürzesten Pfad zwischen zwei Orten auf einer Karte zu finden oder andere Aufgaben im Zusammenhang mit Grafiken auszuführen.
- MST von Prim: Dieser Algorithmus teilt einen ungerichteten Graphen (einen, in dem die Richtung nicht berücksichtigt wird) in zwei Hälften auf. Es wählt dann die Kante aus, die die beiden Hälften verbindet, so dass das Gesamtgewicht der beiden Hälften das kleinste ist, das es sein kann. Vielleicht finden Sie diesen Algorithmus in einem Labyrinth-Spiel, um die kürzeste Entfernung zwischen dem Start und dem Ende des Labyrinths zu finden.
- Huffman Encoding: Dieser Algorithmus ist in Computern sehr berühmt, weil er die Basis für viele Datenkomprimierungstechniken bildet. Der Algorithmus weist jedem eindeutigen Dateneintrag in einem Strom von Einträgen einen Code zu, so dass die am häufigsten verwendete Dateneingabe den kürzesten Code erhält. Zum Beispiel würde der Buchstabe E normalerweise den kürzesten Code erhalten, wenn englischer Text komprimiert wird, weil Sie ihn häufiger als jeden anderen Buchstaben im Alphabet verwenden. Durch Ändern der Kodierungstechnik können Sie den Text komprimieren und deutlich verkleinern, wodurch die Übertragungszeit reduziert wird.