第十七章----攤還分析:求資料結構的乙個操作序列中所執行的所有操作的平均時間,來評價操作的代價。
第十八章----b樹:是為磁碟或者其他直接訪問的輔助儲存裝置而設計的一種平衡搜尋樹。第十九章----斐波那契堆:一種資料結構,支援一系列的堆操作,可以在常數攤還時間內完成,這種資料結構非常適合需要頻繁呼叫這些操作的應用。
第二十章----van emde boas樹:該資料結構支援優先佇列操作以及一些其他的操作,每個操作最壞情況執行時間為o(lglgn)。而且這個資料結構限制關鍵字必須是不重複的整數。
第二十一章----用於不相交集合的資料結構:一些應用涉及將n個不同的元素分成一組不相交的集合,這些應用經常需要進行兩種特別的操作:尋找包含給定元素的唯一集合和合併兩個集合。
第三十章----多項式與快速傅利葉變換:兩個n次多項式相加的最直接方法所需的時間為θ(n),但是相乘的最直接方法所需的時間為θ(n^2)。快速傅利葉變換,使多項式相乘的時間複雜度降低為θ(nlgn)。第三十一章----數論部分:當輸入資料是「大整數」對應的一些優化演算法。
第三十二章----字串匹配:在編輯文字程式過程中,我們經常需要在文字中找到某個模式的所有出現位置。典型情況是,一段正在被編輯的文字構成乙個檔案,而所要搜尋的模式是使用者正在輸入的特定的關鍵字。有效地解決這個問題的演算法叫做字串匹配演算法,該演算法能夠極大提高編輯文字程式時的響應效率。在其他很多應用中,字串匹配演算法用於在dna序列中搜尋特定的序列。在網路搜尋引擎中也需要用這種方法來找到所要查詢的網頁位址。
第三十四章----np完全性:np完全問題它們表面上看起來和我們已知的可以用多項式時間演算法解決的問題很相似,但是實際上很難求解。
演算法導論學習筆記之演算法基礎篇
一 插入排序 插入排序屬於原址排序,演算法在陣列a中重排元素,演算法思想與玩撲克牌時依次將抓到的牌放到手中合適的位置一致,當輸入完成時,手中的牌即已完成排序。插入排序 a for j 2.a.length setp 1 a 下標從 1 開始計數 key a j i j 1 while i 0 a i...
《演算法導論》學習筆記
4.5.1 二分查詢 乙個經典的問題 如何在乙個嚴格遞增序列a中找出給定的數x 最直接的辦法是 線性掃瞄序列中的所有元素,如果當前元素恰好為x,則表明查詢成功 如果掃瞄完整個序列都沒有發現給定的數x,則表明查詢失敗,說明序列中不存在數x。這種順序查詢的時間複雜度為o n 更好的辦法便是使用二分查詢 ...
演算法導論之快速排序 學習筆記
或者你也可以打個比喻,想象一下,假設r為主元素,j元素為前方開路元素,和主元素進行比較,如果大於主元素則繼續開路 如果小於主元素則i元素加1之後和j元素交換之後,j元素繼續開路直到最後。書中給出了劃分的偽 1 partition a,p,r 2 x a r 將最後乙個元素作為主元素 3 i p 1 ...