B. j und ein j? Warum wechselt Knuth eine neue Notation in der Lösung zu einem Beispiel, das er im Text nicht erklärt? Nur frustrierend. Danke!!! 3 für die Antwort № 1 Hier ist ein Implementierung dieser Übungsantwort. Vielleicht hilft es. Übrigens scheint die Tabelle a zu beschreiben Markov-Algorithmus. Soweit ich bisher verstanden habe, beginnen Sie mit dem ersten Befehlssatz, j = 0. Ersetzen Sie alle Vorkommen von T. j mit s j und springen Sie zur nächsten Befehlszeile, je nachdem, ob Sie etwas ersetzt haben (in diesem Fall springen Sie zu b j Wenn nichts ersetzt wurde, springen Sie zu a j). Die Frage der Kunst der Computerprogrammierung: Kapitel 1, Frage 8 - knuth, taocp. EDIT: Neue Antworten:
A = {a, b, c} scheint der Zeichensatz zu sein, mit dem Sie arbeiten können. c kommt während des Algorithmus herein (links hinzugefügt und später wieder durch ein "s" ersetzt). Theta und Phi könnten ein griechischer Charakter sein, den Sie normalerweise für etwas wie "Original" und "Ersatz" verwenden, obwohl ich nicht wissen würde, dass sie es sind. b j und ein j sind die Tabellenzeilen, die als nächstes ausgeführt werden sollen.
- Die Frage der Kunst der Computerprogrammierung: Kapitel 1, Frage 8 - knuth, taocp
Die Frage Der Kunst Der Computerprogrammierung: Kapitel 1, Frage 8 - Knuth, Taocp
Gleichzeitig können Sie ein oder mehrere Bände TAOCP kaufen, es durchsehen, um zu verstehen, welche Bereiche Knuth abdeckt, und es in Ihrer Bibliothek aufbewahren, falls Sie in Ihrem Alltag tatsächlich einige Informationen benötigen Arbeit. Meine Vermutung ist, dass Sie es nicht tun würden und das ist ein weiterer Grund, warum ich nicht raten würde, zu versuchen, zu lesen. Wenn Sie jedoch feststellen, dass Sie häufig genug darauf verweisen, dann wissen Sie, dass es sich lohnt, es vollständig durchzulesen. Knuth brechende Arbeit ist die beliebteste Referenz, dass Programmierer der Absicht zu lesen, oder Finish Lesen. Irgendwann mal. +10 auf die Familie / Kinder Kommentar. Ich versuche, das meiste zu lesen, während ich auf Rotaugenflügen zu Kunden bin. Aber... ja, sehr lesenswert. Kein Grund, linear zu lesen, stattdessen überfliegen und ein paar interessante Themen auswählen. Ich bin fest in dem Lager der Leute, die der Meinung sind, dass jeder Entwickler die Investition in das Erhalten der Bücher irgendwann tätigen sollte (und es wird jetzt einfacher, da es so aussieht, als würden sie in einem Taschenbuch nachgedruckt), aber aus dem gleichen Grund würde ich Es ist auch schwer zu glauben, dass sich jemand hinsetzt und sie alle von vorne bis hinten liest.
Mit anderen Worten: Es ist Lernen im großen Stil. Wenn Sie also wie ich besessen davon sind, lesen Sie es jetzt. Wenn Sie es nicht sind, können Sie es aufschieben, bis Sie sich danach sehnen, die Leiter hinaufzusteigen und ein Mann im großen Stil zu werden. Nachdem ich vor kurzem genau diese Aufgabe übernommen habe, kann ich sagen, dass die Art und Weise, wie er schreibt, sehr angenehm ist und die Probleme (je nach Schwierigkeitsgrad) sehr treffend benannt sind. Holen Sie sich den ersten Band, lesen Sie die Kapitel 1 und 2 und sehen Sie, wie es Ihnen gefällt. TAOCP ist eine großartige Arbeit, aber es wäre eine schreckliche Zeitinvestition für einen praktizierenden Softwareentwickler. Wenn Sie es tun, werden Sie einige Jahre (so lange wird es dauern) Ihres professionellen Budgets für die Selbstverbesserung opfern, um zu viel über zu wenig zu lernen. Ich würde empfehlen, ein oder mehrere weniger "ultimative" Bücher über Algorithmen durchzuarbeiten. Mein Favorit in diesem Bereich ist das Algorithm Design Manual von Steven S. Skiena
Wenn Sie dann das Gefühl haben, dass Sie mehr brauchen / wollen, steigen Sie auf den Knuth auf.