Buchempfehlung Algorithmen



  • cooky451 schrieb:

    Ist das deutsche Gegenstück gut übersetzt? Dann würde ich das nämlich bevorzugen. (Wow, 80€ sind ja ganzschön happig, na was tut man nicht alles für seine Bildung. 🙄 )

    Ich habe es selbst nicht auf deutsch gelesen, aber
    nach einem Prof. zufolge soll man das Buch unbedingt auf deutsch lesen, denn man wird im Leben nie etwas lustigeres finden...

    Insgesamt behandelt das Buch Stoff aus einer anfangs Vorlesung für Algorithmen.
    Also Achtung: wenn du ein Studium vorhast, kommt das sicherlich alles noch einmal vor.
    Ansonsten sind, wie schon gesagt, Skripte ganz toll. Es gibt auch genug davon im Internet (Qualität variabel). Auch in deutscher Sprache.



  • Hi,

    marco.b schrieb:

    Ich fand das Buch "Datenstrukturen und Algorithmen" von Prof. Güting gut. Der Text wird auch an der Fernuniversität in Hagen als Kurs genutzt, ist also generell für das Selbststudium ausgelegt.

    ich finde das völlig indusktabel. Es ist für Leute, die schon wissen worum es geht vielleicht geeignet, aber nicht für Leute, die anfangen wollen es zu verstehen. Ich kenne nur die Uni-Skripte und finde sie schlecht. Dagegen würde ich schon sagen, dass Introduction to algorithms extrem empfehlenswert ist. Wenn ich die beiden "Bücher" vergleiche, ist das ein Unterschied wie Tag und Nacht, und letzteres ist meiner Meinung auch sein Preis wert. Ich habe es allerdings auf Englisch.

    Introduction to algorithms ist das Begleitbuch zur Algorithmenvorlesung am MIT. Die entsprechenden Vorlesungen stehen übrigens auch kostenlos zur Verfügung, und gerade deswegen relativiert sich der Preis meiner Meinung nach auch wieder:
    http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-introduction-to-algorithms-sma-5503-fall-2005/video-lectures/

    EDIT:
    Ich besitze auch noch Robert Sedgwicks "Algorithmen in C++". Das ist natürlich recht praxisnah, weil es eben die Algorithmen direkt in C++ umsetzt. Je nach Anspruch kann ich das auch empfehlen.

    EDIT2:

    Die Theorie behandelt Berechenbarkeit, Komplexität, Sprach- und Automatentheorie.

    Dann solltest du dir eher ein Buch über theoretische Informatik holen. Wenn jemand nach Algorithmen fragt, sind die von dir genannten Themen jetzt eher weniger angesagt.



  • CarstenJ schrieb:

    Hi,
    ich finde das völlig indusktabel. Es ist für Leute, die schon wissen worum es geht vielleicht geeignet, aber nicht für Leute, die anfangen wollen es zu verstehen. Ich kenne nur die Uni-Skripte und finde sie schlecht.

    Interessant, habe ich so noch nicht gehört. Was an den Skripten ist unverständlich oder schlecht? Die Erklärungen zu Rotation bei AVL-Bäumen oder der Aufrechterhaltung von Heaps fand ich verständlicher als in jedem anderen Werk. Laufzeitangaben werden nicht nur hingeschmiert von wegen "ist halt O(n log n)", sondern es werden über Seiten hinweg die Angaben mathematisch begründet, öfter auch eine average case Analyse mit Hilfe stochastischer Betrachtungen.

    Aber es mag Geschmacksache sein, wie bei so vielen Dingen 🙂



  • CarstenJ schrieb:

    Dann solltest du dir eher ein Buch über theoretische Informatik holen.

    Hast du in diese Richtung eine Empfehlung? Ich will eigentlich nur irgendwie etwas Neues lernen, da reines Programmieren irgendwann langweilig wird. 🙂
    Etwas theoretischer Hintergrund schadet ja nicht.



  • Hi,

    Aber es mag Geschmacksache sein, wie bei so vielen Dingen

    das ist wohl so. Zugegeben, AVL-Bäume sind tatsächlich ausführlich erklärt, aber Heapsort z.B. habe ich gar nicht verstanden. Ich brauchte mir in dem anderen Buch dagegen nur die Grafik angucken, und habe sofort verstanden, wie es funktioniert. Wenn ich das weiss, kann ich natürlich auch gerne berechnen, warum es wie effizient arbeitet, und welche Änderungen am Algorithmus welche Auswirkungen haben. Ich finde auch viele Beispiele in dem Skript missverständlich oder unzureichend.

    Aber wie du sagtest, jeder lernt anders, für mich ist Introduction to algorithms um Längen besser und ausführlicher, sowohl was die Beispiele und Erklärungen angeht als auch was die mathematischen Beweise betrifft.

    Ich will eigentlich nur irgendwie etwas Neues lernen, da reines Programmieren irgendwann langweilig wird.

    Was willst du denn nun lernen? Algorithmen und Analyse etc. oder theoretische Informatik?



  • CarstenJ schrieb:

    Was willst du denn nun lernen? Algorithmen und Analyse etc. oder theoretische Informatik?

    Nun ja, Algorithmen von Wikipedia abschreiben und in C implementieren kann ich auch so, da brauche ich kein Buch für. Es sollte also schon etwas theoretischer sein, wenn das dann noch in die Praxis überführt wird, wäre es natürlich optimal. Mathematische Laufzeitanalysen von Algorithmen würden mich eigentliche genauso interessieren wie Automaten und Komplexitätstheorie. Würde sich da ein Buch über theoretische Informatik eher anbieten als ein Buch über Algorithmik? Ich bin momentan noch etwas unbedarft, was die Abgrenzung der Fächer angeht und "Buch über theoretische Informatik" schien mir anfangs auch zu unspezifisch.



  • Hi,

    an der Fernuni Hagen und den meisten anderen Unis sind das defintiv getrennte Themengebiete, und keines dieser genannten Bücher ist eine Sammlung der Algorithmen ohne Erklärung. Dafür reicht in der Tat Google.

    Geh in eine Bücherei und/oder Buchhandlung, schau dir die einzelnen Bücher mal an und entscheide selbst was für dich das richtige ist. Zusätzlich kannst du dir ja mal die Vorlesungen anschauen, man kann das eigentlich ganz gut verstehen, auch wenn man kein native-speaker ist.



  • Gregor schrieb:

    Aus meiner Sicht sollte der Fokus anders sein. Und zwar bei Algorithmenprinzipien. Ich habe kein Problem damit, wenn in so einem Buch ein Mergesort diskutiert wird, dann aber bitte als Anwendung des Divide&Conquer Prinzips. Dynamic Programming ist auch ein Punkt, auf den man sich fokussieren sollte.

    Irgendwie habe ich das Gefühl, dass sich die Literatur viel zu sehr auf konkrete Algorithmen einlässt und zu wenig zu den dahinterliegenden Prinzipien sagt. Es bringt mich eigentlich nur geringfügig weiter, 10 verschiedene Sortieralgorithmen kennenzulernen. Die Prinzipien sind das interessante!

    Ich habe mir eben mal das Inhaltsverzeichnis des Buchs da oben angeguckt. Wenigstens gibt es da explizite Kapitel zu Divide&Conquer und Dynamic Programming. Trotzdem scheint es von konkreten Algorithmen beherrscht zu werden. Kennt jemand ein Buch, bei dem der Fokus wirklich auf den Konstruktionsprinzipien hinter den Algorithmen liegt? Wenn ja: Immer her damit!

    Der oben verlinkte "Cormen" sollte deinen Ansprüchen durchaus gerecht werden.



  • Das Cormen und Co Buch ist schon ein sehr gutes Arbeitsbuch. Aber wenn man sowieso studiert, dann sollte man vielleicht warten, ob nicht Prof oder Mitarbeiter ein gutes alternatives Script zur Verfügung stellen. An der Uni steht mit Sicherheit das ein oder andere gute Buch in der Lehrbuchsammlung. Das Cormen und Co Buch ist eigentlich ein typischer Präsenz-Buch Typ, dessen Inhalt man am besten zeitgemanaged in der Bib bearbeitet.

    Man könnte stattdessen oder vorausergänzend erstmal mit diesem Texten arbeiten:
    http://www-i1.informatik.rwth-aachen.de/~algorithmus/
    http://www.amazon.de/Zahlenteufel-Kopfkissenbuch-Angst-Mathematik-haben/dp/3423620153/
    http://www.amazon.de/Codes-Verschlüsselung-Geschichte-Geheimnisse-Tricks/dp/3423621672/

    Darüberhinaus gibt es sehr gute Oberstufentexte zu diesem Thema, in denen Standardalgorithmen erklärt werden.



  • D.E.K., TAoCP


Anmelden zum Antworten