通過把演算法導論的偽代碼抄成自己喜歡的語言來學習使用演算法對大家來說是不是足夠容易?

忽略證明和習題部分,就只關心理解和運行演算法導論的偽代碼。


實現容易,證明不易,且看且忘記


我覺得是這樣的,我在看算導的時候,每一章看完後都會用C語言實現重要的數構和演算法,感覺印象更深刻,演算法時間長了還是會忘記,但是用到的時候,大概瞄兩眼就能立馬上手碼代碼了,寫過和看過還是有很大不同的


實際要真的寫出來的話還是需要比原來簡潔的偽代碼多不少的細節處理的,感覺還是要有一些經驗以後才能寫的出來。


算導最有價值的不就是證明和習題嗎。。學那些演算法有必要用算導嗎


不容易,起碼FFT和LP我照著偽代碼都寫不出來。。。


曾經把演算法導論的偽代碼用java翻譯過,我想說,其實翻譯很容易,因為偽代碼已經寫得很直白了,關鍵在於理解那些演算法的思想,把他們用到實際需要中去。

如果脫離了書上的語境,換一個實際的問題,你還能不能解決?很多情況下都需要自己去設計演算法,而不是把代碼抄過來就可以用。在這種情況下演算法的思想才是唯一的後盾,而不是那些翻譯出來的代碼。


第一次學排序演算法時,用c實現了書上的偽代碼,還比較容易,畢竟書上的偽代碼寫的已經很清晰了,要注意的似乎就只有像「x=+∞」這樣的地方。

不過如果要用函數式程序設計語言(如haskell)大概就沒有用c一樣方便了(除非它偽代碼就是類FP的)


算導的好處就是你稍微轉換偽代碼就能運行,但這有個毛意思


會有一部分幫助,但是還是容易忘。就是這樣啊,好多看著好精妙的演算法,當時你會拍案叫絕,但是過一段時間就忘了。。。還是看大神們有沒有什麼不容易忘的方法吧


思想也是要理解的吧,要不以後誰去優化和提出新的演算法。


推薦閱讀:

LSM 演算法的原理是什麼?
B站有沒有用推薦演算法啊?
演算法題目中,遇到結果是大數時,為什麼喜歡 MOD 10^x+7 ?
為什麼說遞歸效率低?
從N個數組中找出出現最多的前K個數?

TAG:互聯網 | 演算法 | 編程 | 演算法導論書籍 | 演算法設計 |