Join thousands of book lovers
Sign up to our newsletter and receive discounts and inspiration for your next reading experience.
By signing up, you agree to our Privacy Policy.You can, at any time, unsubscribe from our newsletters.
"This is without question the best PhD thesis that I have read since the 1970s.Its coverage is breathtaking." Robert SedgewickQuicksort is the fastest general-purpose sorting method in practice and a showcase for the paradigms of the mathematical analysis of algorithms: it can occasionally be very slow, but is almost always extremely fast, and its typical performance can be computed very accurately ina mathematical model. It is a distinctive feature of computer science that such mathematical models describe many phenomena precisely because we know how our computers work. But we need an effective mathematical toolkit to put this to good use.The author analyzes mathematically what benefits are possible with multiway Quicksort, i.e., partitioning the input in one step around several pivots. Multiway Quicksort has recently received attention because Java runtime library uses a dual-pivot method that outperforms classic Quicksort implementations by far. The success of dual-pivot Quicksort is most likely due to more efficient usage of the memory hierarchy, which gives reason to believe that further improvements are possible with multiway Quicksort.Apart from presenting novel facts on Quicksort, including results on inputs with equal keys, this books also serves as compendium of mathematical techniques for the analysis of Quicksort. It is the only comprehensive resource on developments in the field since Robert Sedgewick's dissertation from 1975.
Effiziente Algorithmen und Datenstrukturen haben sich in den letzten Jahrzehnten selbst bei der Lösung aussichtslos erscheinender praktischer und theoretischer Probleme bewährt. Dieses Buch führt in die Algorithmik mit Java ein und präsentiert dafür eine Sammlung grundlegender Algorithmen und Datenstrukturen - mathematisch präzise und mit lauffertigem Java-Code.Die Autoren entwickeln die Ideen iterativ, so dass Leserinnen und Lesern die einzelnen Schritte von der naiven Lösung bis zum fertigen Lehrbuchalgorithmus nachvollziehen können. Einzelne Algorithmen werden hinsichtlich ihrer Stärken und Schwächen und der erzielten Ergebnisse diskutiert. Dadurch lernen Nutzer, die im Buch vorgestellten Elemente des Baukastens effektiv einzusetzen. Zahlreiche Beispiele und Abbildungen sowie 100 vertiefenden Übungsaufgaben unterstützen sie dabei.Nicht für alle Probleme kann eine Lösung aus bereits bekannten Bausteinen entwickelt werden. Wie lassen sich mithilfe der Algorithmik dennoch Lösungen finden? Die Autoren lassen ihre Leser die Entwicklung der Algorithmik miterleben und leiten aus den Beispielen allgemeine Entwurfsmethoden ab, so dass Studierende und andere Leser lernen, wie sich auch für neue Probleme Lösungen finden lassen. Eine kurze, präzise Einführung in die Theorie der Komplexitätsklassen P und NP zeigt darüber hinaus die Grenzen der effizienten Lösbarkeit und stellt gängige Auswege für die praktische Lösung NP-harter Probleme vor.Neben elementaren Datenstrukturen, Entwurfsmethoden, Suchbäumen sowie Sortier-, Graph- und String-Algorithmen werden auch Themen wie Approximation, randomisierte Algorithmen oder das Lineare Programmieren kurz angerissen, um einen Ausblick darauf zu geben, was die Algorithmik darüber hinaus noch leisten kann.Das fachlich ebenso wie didaktisch fundierte Buch erscheint in der Reihe der "Studienbücher Informatik" und begleitet Studierende in Vorlesungen zu Datenstrukturen und Algorithmen. Es unterstützt sie außerdem bei der gezielten Prüfungsvorbereitung.
Sign up to our newsletter and receive discounts and inspiration for your next reading experience.
By signing up, you agree to our Privacy Policy.