《計算機程序設計藝術》系列被公認為計算機科學領域的經典之作,深入闡述了程序設計理論,對計算機領域的發(fā)展有著極為深遠的影響。本書為該系列的第3卷,全面講述了排序和查找算法。書中擴展了卷1中數據結構的處理方法,并對各種算法的效率進行了大量的分析。
計算機科學既壯觀又幽美,我嘗試盡自己所能,以十分恰當的方式來解釋我所了解的某些片斷。很顯然,我自己并沒有任何超自然能力,但的確很喜歡講述那些似乎靜靜地等待著人們去講出來的故事。寫書跟講故事十分類似。
圖靈訪談之專訪Donald
E. Knuth
《計算機程序設計藝術》系列著作被公認為是對經典計算機科學的權威論述,曾在1999年被《美國科學家》期刊評選為20世紀相當重要的12部學術專著之一。這一宏偉浩大的工程始于1962年,計劃出版7卷,目前已經出版了4卷。數十年來,這本書一直是廣大學生、研究人員和業(yè)內人士學習程序設計理論和實踐的無價之寶,書中各處無不體現著作者淵博的學識、嚴謹的治學態(tài)度,以及深刻的洞察力。該套書自出版以來,廣受眾多科學家的贊許,并對無數讀者產生了極其深遠的影響。
《計算機程序設計藝術》堪稱計算機科學領域的瑰寶。從事研究的人驚艷于其精美優(yōu)雅的分析,而普通程序員則一直在卓有成效地利用書中提供的各種方案解決日常問題。這些書展現了作者的博觀、清晰、精確和幽默,所有的人都欽佩不已。高德納是算法和程序設計領域的先驅者,對計算機科學發(fā)展史也有著深入的研究,書中在介紹眾多理論的同時,也給出了相關的歷史和發(fā)展歷程,成為本書的一大特色。
高德納(Donald E. Knuth)知名計算機科學家,算法與程序設計技術的先驅者、斯坦福大學計算機系榮休教授、計算機排版系統TEX和METAFONT字體系統的發(fā)明人,因諸多成就以及大量富于創(chuàng)造力和具有深遠影響的著作(19部書,160篇論文)而譽滿全球。近些年,他將精力全部投入到《計算機程序設計藝術》七卷集的史詩般創(chuàng)作中。Knuth教授獲得過許多獎項和榮譽,包括美國計算機協會圖靈獎、美國國家科學獎章、美國數學學會的斯蒂爾獎,以及因發(fā)明先進技術于1996年榮獲的京都獎。1996年,設立了以其名字命名的Donald E. Knuth獎,授予那些為計算機科學基礎做出杰出貢獻的人。
第5 章排序. . . . . . . . . 1
*5.1 排序的組合性質. . . 8
*5.1.1 反序. . . . . . . 8
*5.1.2 多重集的排列. . . 16
*5.1.3 游程. . . . . .. . 36
5.2 內部排序. . . . . . . 56
5.2.1 插入排序. . . . . . 61
5.2.2 交換排序. . . . . . 81
5.2.3 選擇排序. . . . . . 107
5.2.4 合并排序. . . . . . 123
5.2.5 分布排序. . . . . . 131
5.3 最優(yōu)排序. . . . . . . 140
5.3.1 比較次數最少的排序. 140
*5.3.2 比較次數最少的合并. 153
*5.3.3 比較次數最少的選擇. 161
*5.3.4 排序網絡. . . .. . 171
5.4 外部排序. . . . . . . 194
5.4.1 多路合并和替代選擇. 197
*5.4.2 多階段合并. . . . 208
*5.4.3 級聯合并. . . . . 226
*5.4.4 反向讀取磁帶. . . 235
*5.4.5 振蕩排序. . . . . 245
*5.4.6 磁帶合并的實踐考慮. 250
*5.4.7 外部基數排序. . . . 269
*5.4.8 雙磁帶排序. . . . 273
*5.4.9 磁盤與磁鼓. . . . 279
5.5 小結、歷史與文獻. . . 297
第6 章查找. . . . . . . . 306
6.1 順序查找. . . . . . . 308
6.2 通過鍵的比較進行查找. .318
6.2.1 查找有序表. . . . . 318
6.2.2 二叉樹查找. . . . . 332
6.2.3 平衡樹. . . . . . . 358
6.2.4 多路樹. . . . . . . 376
6.3 數字查找. . . . . . . 385
6.4 散列. . . . . . . . . .402
6.5 輔助鍵的查找. . . . . .437