系列博文主要目的:
收集《程式設計珠璣》和《程式設計珠璣(續)》(以下簡稱《續》)上的演算法和思想,幷包括了一些自己的思考和對相關問題的引申,以備複習和查用。
內容提要:
出自於《程式設計珠璣》和《續》原書的演算法題和習題有標示。
本系列博文已經寫完,預計1~3天發布一篇,目前(2013.7.8)已發完。
位向量/點陣圖的定義和應用
估算的應用與little定律
隨機數函式取樣與概率
****正確性:迴圈不變式、斷言、debug
二分思想與分治法、排序思想
字串和陣列演算法:左移、雜湊表、最長重複子序列的字尾陣列解法、最大連續子串行
原書有但未收錄的內容介紹:
1.基礎的資料結構
二分查詢樹
2.較少使用的資料結構
箱3.基本的排序
插入排序、希爾排序、快速排序
4.堆和優先順序佇列
個人更傾向於使用《演算法導論》上介紹的版本
5.馬爾科夫鏈文字生成器
利用馬爾科夫鏈的性質,經過文字訓練,能夠產生一段自然的隨機文字的程式。
與《程式設計實踐》相比,由於使用了更精巧的資料結構,占用空間較少,但也更難理解。
6.以二分查詢(第9章)和質數查詢(《續》第1章)為例的**調優
7.位排序演算法
類似strcmp(),可查閱習題11.5
8.拓撲排序
第2章,偽**:
initialize a queue to empty《算導》上的拓撲排序比這個略難理解一些,因為它為了說明,引入了結束時間的概念。for each node i
if pre count of i is 0
insert i to queue
while queue is not empty
delete t from the front of queue
print t
for each successor s of t
decrement pred count of s
if the count is 0
insert s to queue
9.關聯陣列
介紹的是awk語言的特性,如今的c++裡的map容器還有像python裡的字典有類似的作用。
10.以牛頓迭代法為代表的數值分析(《續》第14章)
「珠璣之櫝」系列簡介與索引
系列博文主要目的 收集 程式設計珠璣 和 程式設計珠璣 續 以下簡稱 續 上的演算法和思想,幷包括了一些自己的思考和對相關問題的引申,以備複習和查用。內容提要 出自於 程式設計珠璣 和 續 原書的演算法題和習題有標示。本系列博文已經寫完,預計1 3天發布一篇。位向量 點陣圖的定義和應用 估算的應用與...
珠璣之櫝 二分思想與分治法 排序思想
目錄 排序思想 如果你對概念很敏感,會馬上意識到這兩者的細微不同 二分搜尋每次都要捨棄一半,從留下的一半中尋找目標 而分治法把乙個大問題分成兩個或多個小問題,遞迴地求這些小問題的解,最後再把它們小心謹慎的合併起來,並且要仔細考慮合併時產生的新的情況。這當然沒有錯,但你也馬上會從這裡意識到兩者的巨大聯...
珠璣之櫝 二分思想與分治法 排序思想
目錄 排序思想 如果你對概念很敏感,會馬上意識到這兩者的細微不同 二分搜尋每次都要捨棄一半,從留下的一半中尋找目標 而分治法把乙個大問題分成兩個或多個小問題,遞迴地求這些小問題的解,最後再把它們小心謹慎的合併起來,並且要仔細考慮合併時產生的新的情況。這當然沒有錯,但你也馬上會從這裡意識到兩者的巨大聯...