Mathe-Vorkenntnisse für das Buch Einführung in Algorithmen (CLRS) [geschlossen]

30

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.

Anonym
quelle
1
Hier finden Sie eine großartige Ressource, um Ihre Fähigkeiten aufzufrischen, wenn Sie dies möchten. khanacademy.org
Alan B. Dee

Antworten:

9

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:

Aber was genau ist Konkrete Mathematik? Es ist eine Mischung aus kontinuierlicher und diskreter Mathematik. Konkreter ist es die kontrollierte Manipulation mathematischer Formeln unter Verwendung einer Sammlung von Techniken zur Lösung von Problemen.

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.

Mctylr
quelle
6

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.

Bill VB
quelle
1

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

Doug Stanley
quelle
Ich möchte auch etwas über die Analyse von Algorithmen lernen. Bitte geben Sie mir Vorschläge. :)
Anonym
@Anonymous In diesem Fall gibt es meiner Meinung nach keine andere Wahl, als die Kugel zu beißen. Ich fing an, mir diskrete Mathematik beizubringen, wurde aber bald überwältigt und kündigte, versuchte den einfachen Ausweg, indem ich "populäre" Bücher über Datenstrukturen und Algorithmen verfasste, nur um herauszufinden, dass der wahre Deal fehlte. Ich habe jetzt den Mut, wieder von vorne anzufangen.
Ankush981