沒參加過ACM如何訓練數據結構與演算法能力?

目前大二下,沒搞過ACM,數據結構與演算法的知識基本都是自學(我們這門課的老師太水了),目前只對幾個基本的數據結構和圖論的幾個經典演算法熟悉,但是比起搞ACM的同學,處理演算法問題的能力和反應速度還是差一大截,想要提升這方面的能力有什麼途徑,或者該看些什麼書?


學習《演算法導論》,實踐《Parsing Techniques》,什麼細節都會了


刷leetcode。

我覺得這和高中數學物理一樣,看理論一下都懂真簡單,一做題發現我擦啥都不會。

初學的話,leetcode這種有人告訴你對錯的地方最好。別閉門自己玩,你需要有東西在你錯的時候指出來,而不是閉門幾個月狂練brute force。


謝邀!

不要跟ACMer比,多造輪子。


推薦閱讀:

未接觸過編程的妹子希望通過做小項目來學習編程,有哪些類型的項目比較適合?
先學什麼編程語言比較好 你們有沒有後悔過?
為什麼我覺得Python的學習很沒有條理?
非計算機專業的程序員能達到什麼樣的高度?
想學編程,請問從哪個開始較好:C/C++,Python 還是 Lisp?

TAG:演算法 | 數據結構 | 編程學習 | ACM競賽 |