StudySmarter - Die all-in-one Lernapp.
4.8 • +11k Ratings
Mehr als 5 Millionen Downloads
Free
Americas
Europe
In der komplexen Welt der Informatik ist der Greedy Algorithmus ein wichtiges Grundelement. In diesem Artikel wirst du die Definition eines Greedy Algorithmus kennenlernen, seine Funktionsweise verstehen und Beispiele für seine Anwendung sehen. Ein besonderer Schwerpunkt wird dabei auf die Praxisanwendung und die Analyse des Algorithmus gelegt. Spannende Einblicke in die Implementierung in Java sowie Vor- und Nachteile im praktischen Einsatz des Greedy Algorithmus komplettieren die Ausführungen. Ein fundiertes Verständnis des Greedy Algorithmus ist von besonderem Nutzen für jeden, der ein tiefergehendes Verständnis der Informatik anstrebt.
Entdecke über 50 Millionen kostenlose Lernmaterialien in unserer App.
Lerne mit deinen Freunden und bleibe auf dem richtigen Kurs mit deinen persönlichen Lernstatistiken
Jetzt kostenlos anmeldenIn der komplexen Welt der Informatik ist der Greedy Algorithmus ein wichtiges Grundelement. In diesem Artikel wirst du die Definition eines Greedy Algorithmus kennenlernen, seine Funktionsweise verstehen und Beispiele für seine Anwendung sehen. Ein besonderer Schwerpunkt wird dabei auf die Praxisanwendung und die Analyse des Algorithmus gelegt. Spannende Einblicke in die Implementierung in Java sowie Vor- und Nachteile im praktischen Einsatz des Greedy Algorithmus komplettieren die Ausführungen. Ein fundiertes Verständnis des Greedy Algorithmus ist von besonderem Nutzen für jeden, der ein tiefergehendes Verständnis der Informatik anstrebt.
Im Kontext der Informatik wird ein Algorithmus als eine Reihe von Anweisungen definiert, die dazu dienen, ein bestimmtes Problem zu lösen oder eine bestimmte Aufgabe zu erfüllen.
E = {elements} f = function that assigns a value to each element in E while E is not empty: e = element in E with maximum f(e) make e the next element in the solution remove e from E
Ein einfaches Beispiel für einen Greedy Algorithmus ist das Problem des Wechselgeldes. Angenommen, du musst 36 Cent Wechselgeld geben und hast Münzen zu 1 Cent, 2 Cent, 5 Cent, 10 Cent, 20 Cent und 50 Cent zur Verfügung. Der Greedy Algorithmus würde zunächst die 20-Cent-Münze nehmen, dann die 10-Cent-Münze, dann die 5-Cent-Münze und schließlich die 1-Cent-Münze.
Bedauerlicherweise ist der Greedy Algorithmus nicht immer die beste Wahl. Insbesondere kann er suboptimale Lösungen liefern, wenn die optimale Entscheidung auf einer globalen Betrachtung des Problems beruht und nicht nur auf einer lokalen. Trotzdem ist der Greedy Algorithmus ein mächtiges Werkzeug, das in vielen Bereichen der Informatik und darüber hinaus Anwendung findet.
Bei der Auswahl der Beispiele für den Greedy Algorithmus ist es wichtig, sich daran zu erinnern, dass diese Art von Algorithmus immer die Entscheidung trifft, die im Moment am profitabelsten erscheint, ohne Rücksicht auf zukünftige Konsequenzen.
import java.util.Arrays; import java.util.Comparator; public class GreedyAlgorithmus { public static void main(String[] args) { Integer[] munzen = {1, 2, 5, 10, 20, 50, 100, 200}; int betrag = 36; Arrays.sort(munzen, Comparator.reverseOrder()); int index = 0; while(betrag > 0) { if (munzen[index] <= betrag) { System.out.println("Nehme die Münze: " + munzen[index]); betrag = betrag - munzen[index]; } else { index++; } } } }
Nachteil | Erklärung |
Suboptimale Ergebnisse | Da der Greedy Algorithmus immer nur auf die augenblicklich beste Wahl schaut, kann er suboptimale Gesamtergebnisse liefern, sollten zukünftige Entscheidungen betroffen sein. |
Nicht geeignet für komplizierte Problemstellungen | Komplexe Probleme, die eine Gesamtbetrachtung erfordern, sind nicht für den Greedy Ansatz geeignet, da dieser keine Rückgriffe auf vorige Entscheidungen zulässt. |
Keine Garantie für eine Lösung | Wenn der Algorithmus auf eine Situation trifft, in der keine direkte Bereicherung erfolgt, kann es sein, dass er feststeckt und keine finale Lösung findet. |
Karteikarten in Greedy Algorithmus57
Lerne jetztWas macht Greedy-Algorithmen aus?
Ein Greedy-Algorithmus zeichnet sich dadurch aus, dass er immer den aktuell optimalen Nachfolger auswählt. Gierige Algorithmen arbeiten sehr schnell und finden oft eine gute Lösung.
Nenne die Vorteile der Greedy-Algorithmen!
- Einfache Implementierung
- kurze Laufzeit
Beschreibe das Wechselgeldproblem!
Bei einem Warenautomat soll Wechselgeld ( in möglichst wenigen Scheinen/Münzen) herausgegeben werden. Nachdem das Wechselgeld eingegeben wurde, sollte das Programm die Liste der zurückgegebenen Wechselgeldmünzen/-Scheinen anzeigen.
Beschreibe der Dijkstra-Algorithmus!
Der Kürzeste-Wege-Algorithmus von Dijkstra ist ein berühmter Graphenalgorithmus, der 1959 von Dijkstra veröffentlicht und nach ihm benannt wurde. Es basiert auf einer iterativen Erweiterung der "billig" erreichbaren Knotenmenge, kann also als Weiterentwicklung der Breitensuche nach gewichteten Kanten nach dem Greedy-Prinzip angesehen werden. Dieser Fortschritt funktioniert jedoch nur für nicht negative Gewichte.
Wie funktioniert das Kruskal-Verfahren?
Kruskals Algorithmus arbeitet nach dem sogenannten Greedy-Verfahren. Das bedeutet, dass Entscheidungen, die während des Verfahrens getroffen werden, unumkehrbar sind.
Der Kruskal-Algorithmus arbeitet mit einer sortierten Liste von Kanten. Es besteht aus allen Kanten, die im ursprünglichen Graphen enthalten sind.
Nenne die Nachteile der Greedy-Algorithmen!
Ein Nachteil von Greedy-Algorithmen ist, dass keine Aussage über die Qualität der Ergebnisse getroffen werden kann.
Du hast bereits ein Konto? Anmelden
Open in AppDie erste Lern-App, die wirklich alles bietet, was du brauchst, um deine Prüfungen an einem Ort zu meistern.
Melde dich an für Notizen & Bearbeitung. 100% for free.
Speichere Erklärungen in deinem persönlichen Bereich und greife jederzeit und überall auf sie zu!
Mit E-Mail registrieren Mit Apple registrierenDurch deine Registrierung stimmst du den AGBs und der Datenschutzerklärung von StudySmarter zu.
Du hast schon einen Account? Anmelden