Greedy-Algorithmen (engl. greedy = gierig) sind dadurch gekennzeichnet, dass sie immer den aktuell besten Nachfolger auswählen. Daher müssen sie vorher alle zur Verfügung stehenden Nachfolger bewerten, und dazu wenden sie das Gradientenverfahren an. Die gierigen Algorithmen arbeiten recht schnell und finden meist eine gute Lösung. Das heißt aber auch, dass es meist nicht die beste Lösung ist. Das erkennt man recht leicht, wenn man die klassischen Probleme für diesen Algorithmus betrachtet, nämlich das diskrete Rucksackproblem und das Problem des Handlungsreisenden. Der Greedy-Algorithmus findet dafür eine relativ gute Lösung, aber die optimale Lösung kann nur gefunden werden, wenn man Backtracking-Algorithmen anwendet, und damit steigt der Aufwand beträchtlich. Die beiden Probleme sind NP-vollständig, und sowohl der Greedy- als auch der Backtracking-Algorithmus bauen die Lösung schrittweise auf, aber nur bei Backtracking geht man auch wieder zurück zu einem Vorgänger, und das erklärt auch die enormen Laufzeitdifferenzen der beiden Methoden.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Rights and permissions
Copyright information
© 2010 Vieweg+Teubner | GWV Fachverlage GmbH
About this chapter
Cite this chapter
Logofătu, D. (2010). Greedy. In: Algorithmen und Problemlösungen mit C++. Vieweg+Teubner. https://doi.org/10.1007/978-3-8348-9382-6_12
Download citation
DOI: https://doi.org/10.1007/978-3-8348-9382-6_12
Publisher Name: Vieweg+Teubner
Print ISBN: 978-3-8348-0763-2
Online ISBN: 978-3-8348-9382-6
eBook Packages: Computer Science and Engineering (German Language)