這學期選了一門算法課(CS2510),搞的人死去活來,因為作業實在多的讓人XX,每周3次作業從來沒斷過,而且都很難。。。。同時我們老師據說是北美算法界得重要人物,上課思路奇快,不用PPT,不用稿子,一支筆,在黑板上刷刷刷,加之英語,搞得我時常跟不上。。。怨念。。。
不過還是學到了很多東西,基本cover了算法導論裡面的各個內容。受益匪淺。准備寫一些對基本算法知識的介紹。同時也權當是自己復習了。
想給這個系列起個名字,思考良久,認為“漫談”這個詞應該能反映一些我要寫的東西的本質。
漫,有一點點漫無邊際的意思,因為可能要cover算法裡面很多sub areas。
漫,同時也有一些隨意的意思,我是想到哪裡寫到哪裡,語言可能比較隨和,與科學網裡的那些文章風格相異。
同時最重要說明的是,這裡講的算法,其實更是重在算法的分析上,mathematical analysis,不是為准備面試而寫。重在介紹algorithm作為computer science這個學科裡面的一個重要研究方向的概要。涉及的方面可能比較寬泛。
先簡單給一個目錄吧,爭取能堅持寫完。
一。貪心算法(Greedy Algorithm)
二。動態規劃(Dynamic Programming)
三。NP-Complete問題
四。分治問題(Divide and Conquer)
五。問題復雜度分析(Problem Complexity and Adversarial Lower Bound)
六。平均情況分析和隨機算法(Average case analysis and randomized algorithm)
七。圖 (Graph Algorithm)
八。線性規劃(Linear Programming)
九。近似算法(Approximation Algorithm)
十。Online Algorithm(這個實在不知道怎麼翻譯了,囧)
劉子韬