最近又抽空讀了一遍《算法導論》,關於圖的內容貫穿了多個章節(比如在動態規划一章埋了無權最短路徑的伏筆,后面才專門講),適用條件各異,而且都有證明過程。 如果不打算熟記證明,僅僅是應用,遇到具體場景再去回憶適用於哪種算法不太方便。 以下內容以手頭的機械工業出版社基於原書第2版的譯本整理了一下,便於 ...
用了幾個月磕磕絆絆的總算把 算法導論 一書看完了,在此寫篇博客總結一下學習到的知識。 首先先放上 算法導論 的思維導圖: 由於本人的理解能力有限,故部分較難懂的內容沒有加入到該思維導圖中。 .排序 排序問題是我們日常生活中經常遇到的一個問題,因此算法導論也把排序作為整個算法介紹的入門篇。在這么多排序算法里面,目前經典的排序算法有以下幾種: .插入排序 對於少量元素的排序,插入排序是一個有效的算法。 ...
2017-06-11 04:46 0 1374 推薦指數:
最近又抽空讀了一遍《算法導論》,關於圖的內容貫穿了多個章節(比如在動態規划一章埋了無權最短路徑的伏筆,后面才專門講),適用條件各異,而且都有證明過程。 如果不打算熟記證明,僅僅是應用,遇到具體場景再去回憶適用於哪種算法不太方便。 以下內容以手頭的機械工業出版社基於原書第2版的譯本整理了一下,便於 ...
1. 寫在前面 本篇博文是學習算法導論的第一次記錄,主要想介紹如何去證明算法的正確性;如何去評判一種算法的好壞;以及如何去改進算法。 2. 從插入排序說起 插入排序(insert-sort)是一種十分常見的算法,我們在生活中可能就經常在使用——玩撲克。考慮我們抓牌時的場景。首先,你的右手 ...
heap的定義:如果數組a[1,....n]滿足:a[i]>a[2*i] && a[i]>a[2*i+1],1<=i<=n/2,那么就是一個heap,而且是ma ...
【例題傳送門:caioj1461】 【EXKMP】最長共同前綴長度 【題意】給出模板串A和子串B,長度分別為lenA和lenB,要求在線性時間內,對於每個A[i](1<=i<=le ...
重讀<算法導論> 記得多年前學數據結構的時候作為教材的延伸讀物我拜讀了<算法導論>,當時有選擇的讀了大約2/3的東西,只學理論和算法實在枯燥,看書之余動手寫了其中的一些算法,但是由於實在不知道這些知識有什么用處,剩余的1/3大部分是一些具體的理論推導和稍微復雜的算法 ...
排序算法是最基礎的一類算法。主要排序算法包括選擇排序、插入排序、冒泡排序、合並排序、堆排序和快速排序。把這些排序算法全部實現一邊,再把《算法導論》對應章節后面的習題做一遍,確實是系統學習算法的一個不錯的開端。 選擇排序 選擇排序的想法很簡單,把需要排序的數組看成一堆撲克牌:先查一遍,抽出最小 ...
O.n/ on an n-character text T. 該算法實際只是會掃描整個字符 ...
問題:打印輸出逆時針螺旋矩陣,要求螺旋矩陣的階數由用戶輸入。例如 n=4時,輸出的螺旋矩陣如下: 下面給出我的代碼: 簡要說明,a 和 b 的存在,是為了解決 ...