Ich habe bereits Kenntnisse über grundlegende Algorithmen. Jetzt plane ich, weiter fortgeschrittene Algorithmen zu studieren und entscheide mich für Einführung in Algorithmen .
Ich bin mir nicht sicher, ob ich meine mathematischen Fähigkeiten auffrischen muss, bevor ich dieses Buch lese, oder nicht? (Ich vergesse fast Mathe, die ich in der High School und am College lerne.) Wenn dieses Buch gute Mathekenntnisse erfordert, schlagen Sie bitte Fächer vor, die davon profitieren.
Ich möchte etwas über Implementierung, Design und Analyse von Algorithmen lernen.
algorithms
math
skills
Anonym
quelle
quelle
Antworten:
Der MIT-Kurs, der das CLR-Buch verwendet, hat einen bestimmten Vorkurs. Das von diesem Vorkurs verwendete Lehrbuch ist kostenlos erhältlich.
Hier ist es:
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/readings/
Voraussetzung für den Kurs ist die Berechnung mit einer Variablen.
quelle
Wie @ user16764 in Bezug auf das jeweilige MIT-Kursangebot (6.042) andeutet , ist eine Version der sogenannten diskreten Mathematik in Kombination mit der Berechnung auf Hochschulniveau die Hauptvoraussetzung für das Verständnis vieler (grundlegender) Algorithmen und ihrer Funktionen Analyse.
Spezielle oder fortgeschrittene Algorithmen können zusätzliche oder fortgeschrittene mathematische Kenntnisse erfordern, beispielsweise in den Bereichen Statistik / Wahrscheinlichkeit (wissenschaftliche und finanzielle Programmierung), abstrakte Algebra und Zahlentheorie (dh für die Kryptographie).
Als Student hatte mein diskreter Mathematikkurs das Lehrbuch Diskrete Mathematik mit Anwendungen von Susanna Epp, und ein weiteres Lehrbuch, das ich in meiner Bibliothek fand, war Diskrete Mathematik von Kenneth Ross und Charles Wright. Eine in guter Qualität verwendete Kopie von einer davon ist wahrscheinlich ein vernünftiger Ausgangspunkt (mit oder ohne Kombination mit der MIT Open Course Ware, abhängig von Ihrem Lernstil). Beim Selbststudium finde ich oft, dass zwei Quellen, auf die ich verweisen kann, dazu beitragen können, Punkte zu klären, bei denen ich Probleme habe, sie zu verstehen.
Eine von mir vorgeschlagene Alternative ist die Konkrete Mathematik , zweite Ausgabe von Ronald L. Graham, Donald E. Knuth und Oren Patashnik. Ich kann mein Exemplar im Moment nicht finden und habe es nicht sorgfältig durchgearbeitet, so dass ich keine Empfehlung dafür oder dagegen aussprechen kann.
Aus dem Vorwort:
Ich werde die kurmudgeon Kommentare von Bill the Lizard in diesem Blogeintrag " Books Programmers Don't Really Read " beachten . Ich persönlich noch finden Robert Sedgewick die Algorithmen (jetzt 4. Aufl.) Weniger einschüchternd und zugänglicher.
In Bezug auf den stetigen (dh reellen ) Teil der Mathematik scheint Calculus von Stewart ein häufig verwendeter Band zu sein, um den Schülern Vorlesungen über die Erleuchtung zu erteilen, die durch Differenzierung und Integration entsteht.
quelle
Es ist nicht wirklich so viel Mathe an sich, sondern Trost und Geläufigkeit mit dem mathematischen Formalismus. Erlernen Sie die Terminologie des Grundsatzes und den entsprechenden Formalismus.
Die Analyse von Algorithmen, insbesondere im Kontext der Komplexitätstheorie, in der Sie das zugrunde liegende Rechenproblem untersuchen (wenn Sie versuchen, etwas Wesentlicheres als die "Big-Oh" -Notation zu tun), erfordert einen erheblichen Zeitaufwand für die Graphentheorie und abstrakte Algebra, alles zusätzlich zu einer riesigen Dosis angeborener Klugheit.
quelle
Ich glaube, Sie können weitermachen, wenn Sie sich nicht nur um die Implementierung, sondern auch um die "Analyse" von Algorithmen kümmern. Das ist in der Regel und UD Mathe oder CS Kurs in den meisten College-Lehrplänen.
Nur zu verstehen, wie die Algorithmen in diesem Buch implementiert werden, sollte kein Problem sein
quelle