Startseite
> Programmierung
> Informatik
> Technologie
> Die Kunst der Computerprogrammierung, Band 1: Grundlegende Algorithmen Bewertung
Die Kunst der Computerprogrammierung, Band 1: Grundlegende Algorithmen
The Art of Computer Programming, Volume 1: Fundamental AlgorithmsVon Donald Ervin Knuth
Rezensionen: 27 | Gesamtbewertung: Durchschnitt
Ausgezeichnet | |
Gut | |
Durchschnitt | |
Schlecht | |
Schrecklich |
Die erste Überarbeitung dieses dritten Bandes ist die umfassendste Übersicht über klassische Computertechniken zum Sortieren und Suchen. Es erweitert die Behandlung von Datenstrukturen in Band 1, um sowohl große als auch kleine Datenbanken sowie interne und externe Speicher zu berücksichtigen. Das Buch enthält eine Auswahl sorgfältig überprüfter Computermethoden mit einer quantitativen Analyse von
Rezensionen
Wenn jedoch ein Problem auftritt, das solche Details erfordert, habe ich die Lösung direkt in meinem Bücherregal. :) :)
Auf zu Band zwei! Yay!
Mir wurde (von Knuth in seiner Einführung) gesagt, dass ich so viel Mathe überspringen könnte, wie ich wollte. Also überflog ich pflichtbewusst das Mathekapitel und fuhr fort.
Dann habe ich MIX gedrückt. Es ist der theoretische Computer, auf den alle Programmbeispiele im Buch geschrieben werden - in Assemblersprache. Es ist interessant und klug und ... schrecklich.
Bitte haben Sie Verständnis dafür, dass ich Knuths Verteidigung für die Verwendung der Assemblersprache zum Unterrichten seiner Algorithmen gelesen habe. Ich verstehe sie Und sie machen Sinn.
Aber jetzt, da ich diesen ersten Band durchgesehen habe, kann ich mit Sicherheit sagen, dass ich MIX hasse und ich es hasse, Algorithmen aus MIX-Beispielen zu lernen. "Wir hassen es, wir hassen es, wir hassen es für immer!" wie Gollum sagen würde.
Ist es wichtig zu verstehen, wie eine verknüpfte Liste im Speicher funktioniert? Absolut. Hilft die Sorge um die Haushaltsführung eines in den 1960er Jahren entworfenen fiktiven Computers bei diesem Verständnis? Absolut nicht.
Knuth gibt zu, dass MIX veraltet ist und er an MMIX arbeitet, einem viel schöneren RISC-Design. Das wäre sicherlich eine Verbesserung. Aber ich bin immer noch der Meinung, dass eine übergeordnete Sprache (oder ein formal definierter Pseudocode) alle untergeordneten Konzepte ohne die Plackerei der Assemblierung zeigen könnte.
Lassen Sie uns von den Beispielproblemen der Assembly fortfahren und über den Inhalt von Band XNUMX sprechen. Bei allen Wörtern und Symbolen wird tatsächlich nur sehr wenig Boden abgedeckt! Am Ende von Band XNUMX haben Sie nur noch Informationen zu Listen (Stapel, Warteschlangen, Deques usw.) und grundlegenden Bäumen erhalten. Das heißt nicht, dass dies keine fruchtbaren Strukturen sind, die für eine gründliche Prüfung reif sind - sicherlich sind sie es, und Knuth untersucht sie gründlich. Es ist nur zu sagen, dass das Tempo absolut eisig ist.
Mit anderen Worten, und es schmerzt mich sehr, das zu sagen, ist es schwierig, die Zeit zu rechtfertigen, die erforderlich ist, um ein Buch wie dieses durchzuarbeiten, wenn Sie die MIX-Assembler-Rätsel oder die höheren mathematischen Probleme nicht mögen.
Ich schätze diese unglaublich gründliche und genaue Arbeit genauso wie Modelle großer gotischer Strukturen, die mit Zahnstochern erstellt wurden. Während das Zahnstochermodell auf einen Blick als visuelles Kunstwerk betrachtet werden kann, kann die Kunst der Computerprogrammierung nur durch sorgfältiges Studium gewürdigt werden.
Es ist wirklich ziemlich schwierig, einen einzelnen Band eines (eines Tages) fünfbändigen Satzes erstaunlich gründlicher Stipendien mit einem Stern zu bewerten. In gewisser Weise fühle ich mich nicht einmal würdig, die Sache zu überprüfen. Am Ende kann ich nur die Freude und / oder den persönlichen Wert des Wissens bewerten, das ich aus dem Buch gewonnen habe.
Ich bin ganz ehrlich, das einzige "Nützliche" (mit einer extrem losen Interpretation dieses Wortes), an das ich mich aus Band XNUMX erinnere, ist, wie man ein Stapelpaar verwendet, um eine FIFO-Warteschlange effizient zu simulieren. Das ist eine erbärmliche Aussage angesichts der Zeit, die ich in das Lesen der Sache gesteckt habe.
Ich besitze das Set mit drei Bänden (veröffentlicht vor dem Erscheinen von Band 4A). Mein Verständnis ist, dass die Bücher später interessanter werden. Die Titel klingen interessant. Aber ich komme nicht an der Tatsache vorbei, dass sie voller MIX-Beispiele und Übungen in höherer Mathematik sein werden. Es wird eine Weile dauern, bis ich die Ausdauer aufbaue, um die nächste aufzubrechen.
Es war eine schöne Bestätigung, die Logik, die ich einmal in einem kurzen Programm verwendet hatte, in einem der Beispiele zu finden.
Es ist bemerkenswert, wie weit die Praxis gekommen ist.
Ich habe versucht, alle Probleme mit 25 oder weniger zu lösen, während ich einen Blick auf die komplexeren / zeitaufwändigeren geworfen habe, aber manchmal fehlten mir die Fähigkeiten, um ein Problem zu lösen. Ich möchte dieses Buch noch einmal besuchen, nachdem ich einige der vorgeschlagenen Bücher in der Bibliographie gelesen habe.
MIX ist zwar alt im Design, aber mehr als ausreichend und kann vom unternehmungslustigen Benutzer leicht durch ein modernes Werkzeug ersetzt werden.
Alle Übungen zu machen ist eine große Aufgabe, aber ich habe die meisten "leichten" und eine gute Anzahl der schwierigen Probleme gemacht.
Ich kann Dons Bücher nur empfehlen.
Obwohl ich maßgeblich und angenehm zu lesen war, fühlte ich mich persönlich (auch mit Vorwarnung) nicht auf das schiere Volumen der Mathematik in Kapitel 1 vorbereitet und verbrachte die ersten 120 Seiten damit, von Notizen zu schwanken, die ich vorher nicht gelesen hatte. Nach der "Einführungsmathematik" kehrte das Buch zu bekannteren Grundlagen zurück, in denen Algorithmen beschrieben wurden und (für den modernen Leser weniger wichtig), wie sie in einer prototypischen Assemblersprache implementiert werden könnten.
Ich habe verschiedene Arten von Inhalten übersprungen, die in diesem Buch bereitgestellt wurden, zum einen die Assembly-Implementierungen (da die niedrigste Sprache, in der ich arbeite, zufällig C ist, immer noch eine Stufe höher als die Assembly), zum anderen die Übungen (die mich bis zum nächsten Mal gebraucht hätten Jahr, gemessen an der Menge) und drittens die Teile von Knuths Beweisen, die meine Augen bluten ließen.
Insgesamt ist Knuths Schreibstimme maßgebend, freundlich und manchmal humorvoll. Es ist selten, dass ein Professor für Informatik so angenehm zu lesen ist. Leider werden die meisten bemerkenswerten Algorithmen, die in diesem Buch behandelt werden, auch in anderen Handbüchern der Informatik behandelt, die Sie wahrscheinlich gelesen haben, wenn Sie sich darauf vorbereiten, gegen diese spezielle Windmühle anzutreten. Ich würde Band 1 empfehlen. Es hat mich sicherlich nicht von Band 2 abgeschreckt.
Es wäre auch schön gewesen, Flussdiagramme aller vorgestellten Algorithmen zu haben, anstatt nur einige von ihnen.
Ich muss auch zugeben, dass dieses Buch so viel gelesen wurde, dass ich am Ende anfing, etwas mehr zu lesen und einige Absätze zu überspringen, um nur einen Überblick über bestimmte Themen zu bekommen.
Und das Gleiche gilt für die Bände 2 und 3.