The Art of Computer Programming, Volume 4B, Fascicle 5 : Mathematical Preliminaries Redux; Backtracking; Dancing Links (Paperback)

Donald E. Knuth

  • 出版商: Addison-Wesley Professional
  • 出版日期: 2019-11-22
  • 售價: $1,500
  • 貴賓價: 9.5$1,425
  • 語言: 英文
  • 頁數: 368
  • 裝訂: Paperback
  • ISBN: 0134671791
  • ISBN-13: 9780134671796
  • 相關分類: R 語言
  • 立即出貨(限量) (庫存=3)



This multivolume work on the analysis of algorithms has long been recognized as the definitive description of classical computer science. The four volumes published to date already comprise a unique and invaluable resource in programming theory and practice. Countless readers have spoken about the profound personal influence of Knuth’s writings. Scientists have marveled at the beauty and elegance of his analysis, while practicing programmers have successfully applied his “cookbook” solutions to their day-to-day problems. All have admired Knuth for the breadth, clarity, accuracy, and good humor found in his books.



To continue the fourth and later volumes of the set, and to update parts of the existing volumes, Knuth has created a series of small books called fascicles, which are published at regular intervals. Each fascicle encompasses a section or more of wholly new or revised material. Ultimately, the content of these fascicles will be rolled up into the comprehensive, final versions of each volume, and the enormous undertaking that began in 1962 will be complete.

This fascicle covers three separate topics:

  1. Mathematical Preliminaries.  Knuth writes that this portion of fascicle 5 "extends the ‘Mathematical Preliminaries’ of Section 1.2 in Volume 1 to things that I didn't know about in the 1960s. Most of this new material deals with probabilities and expectations of random events; there's also an introduction to the theory of martingales."
  2. Backtracking: this section is the counterpart to section 7.2.1 which covered the generation of basic combinatorial patterns.  This section covers non-basic patterns, ones where the developer needs to make tentative choices and then may need to backtrack when those choices need revision.
  3. Dancing Links: this section is related to 2 above.  It develops an important data structure technique that is suitable for backtrack programming described above.





1. 數學初步。Knuth寫道,fascicle 5的這部分“擴展了第1卷1.2節中的‘數學初步’,介紹了我在1960年代不知道的東西。這些新材料大部分涉及隨機事件的概率和期望;還有一個對馬丁格爾理論的介紹。”

2. 回溯法:這一部分是第7.2.1節的對應部分,該節涵蓋了基本組合模式的生成。這一部分涵蓋了非基本模式,即開發人員需要做出暫時的選擇,並在需要修改這些選擇時可能需要回溯。

3. 跳舞鏈接:這一部分與上述第2點相關。它發展了一種重要的數據結構技術,適用於上述的回溯編程。