Ich wurde beauftragt, eine Bibliothek mit Büchern über Algorithmen für unser kleines Unternehmen (ca. 15 Personen) aufzubauen. Das Budget beträgt mehr als 5.000, aber sicherlich weniger als 10.000, sodass ich eine ganze Reihe von Büchern kaufen kann. Alle Leute hier haben mindestens einen Bachelor-Abschluss in CS oder einem eng verwandten Bereich. Während ich also ein grundlegendes Lehrbuch wie Cormen bekomme, interessiere ich mich mehr für gute Bücher zu fortgeschrittenen Themen. (Ich werde übrigens Knuths 4 Bände bekommen.)
Einige Themenlisten wären:
Sortieralgorithmen
Graph-Algorithmen
String-Algorithmen
Randomisierte Algorithmen
Verteilte Algorithmen
Kombinatorische Algorithmen
etc.
Im Wesentlichen suche ich nach guten Empfehlungen für Bücher zu wichtigen Themen innerhalb von CS im Zusammenhang mit Algorithmen und Datenstrukturen. Insbesondere Dinge, die über das hinausgehen, was normalerweise in Algorithmus- und Datenstrukturklassen als Teil eines Bachelor-Abschlusses an einer guten Schule behandelt wird. Ich weiß, dass die Frage ziemlich verschwommen ist, da ich nach allgemein nützlichem Material suche. Die Software, die wir entwickeln, besteht hauptsächlich aus Dingen auf Systemebene, die große Datenmengen verarbeiten.
Das Ideal wäre auch, alles zu finden, was die neuesten coolen Datenstrukturen und Algorithmen abdeckt, von denen die meisten Menschen vielleicht noch nichts gehört haben.
EDIT: Hier sind einige vorläufige Bücher, von denen ich denke, dass ich sie bekommen sollte:
Einführung in Algorithmen von Cormen et al.
Algorithmus Design von Kleinberg, Tardos
Die Kunst der Computerprogrammierung Band 1-4 von Knuth
Approximationsalgorithmen von Vazirani
Das Design von Approximationsalgorithmen von Williamson, Shmoys
Randomisierte Algorithmen von Motwani, Raghavan
Einführung in die Theorie der Berechnung von Sipser
Computerkomplexität von Arora, Barak
Computer und Intraktabilität von Garey und Johnson
Kombinatorische Optimierung von Schrijver
Einige andere Bücher, die meine Kollegen wollten und die sich mit Techniken und Algorithmen für das Sprachdesign, Compiler und formale Methoden befassen, sind:
Typen und Programmiersprachen von Pierce
Prinzipien der Modellprüfung von Baier, Katoen
Compiler: Prinzipien, Techniken und Werkzeuge von Aho, Lam, Sethi, Ullman
Das Compiler Design Handbook: Optimierungen und Maschinencodegenerierung, 2. Auflage von Srikant, Shankar
Das Garbage Collection Handbook: Die Kunst der automatischen Speicherverwaltung von Jones, Hosking, Moss