ACM之路怎麼走(不搞競賽也可以看看)

這個文章吧, 也不僅僅侷限於ACM訓練, 想學習數據結構和算法的朋友也可以看看.

學習編程

先安利一個知乎上的一個學習編程的專欄: 學習編程

裏面有博客推薦啊, 書籍推薦啊, 適合新手的項目啊, 感覺還可以.

ACM之路

入門

oj使用基本說明

ACM Book //哈爾濱理工大學寫的, 講解關於acm競賽中常用的算法. 部分內容有錯誤, 要批判地學習.

數據結構與算法/Leetcode/Lintcode題解   //也是很好的電子書, 講解了常用的數據結構和算法, 還有oj上的實踐

hdu ACM Step  //一章一章刷, 就像爬樓梯, 帶你走上人生巔峯, 第一章是基本的輸入輸出格式練習, 建議新手先把輸入輸出練了, 另外有些題目會有坑, 不要死磕.

OJ推薦

hdu //著名的杭電oj

優點: 題目多, 全.

經常有比賽(Best Coder, 原創題目)

缺點: 沒有題目分類

刷題建議: ACM Step可以刷一刷, 第11頁的題目是基礎編程題目適合新手刷.

不會的題目可以百度, 比如 hdu 1001

有能力的可以參加Best Coder, 找找比賽的感覺

另外可以百度 hdu題目分類.

環境說明: 支持C/C++ Java Pascal C#

51Nod

優點: 題目分類相對完整, (難度/類別).

有貪心和dp的教程.

提供測試數據, 可以看哪個測試點錯了.

可以查看別人提交的代碼.

每個月都有一次比賽, 難度較高, 原創題目, 比賽有獎品

51Nod好像已經開始要對接企業了, 所以你懂的.

缺點:下載測試數據需要積分(其實積分很好弄, 不必過於擔心)

沒有Rating

題目數量較少, 比賽頻度過低, 難度較高

環境說明:支持很多種編程語言

刷題建議: 有分類了還要啥建議

C語言網

優點: 題目難度較低, 適合新手

有文章, 視頻教程

貌似還打算開直播教學

沒有Rating

每月有比賽, 有獎品

缺點:測試數據太弱,

題目數量少

環境說明:僅支持Java和C/C++

刷題建議: 編程小白可以刷一刷, 走專業ACM的不建議刷

CodeForces  //沒錯, 就是大名鼎鼎的cf, 不是鵝廠的槍戰遊戲

優點:比賽頻度較高(幾天一次)

比賽梯度設置合理, 有人人都能A的水題, 也有難題

可以查看別人提交的源碼

缺點:比賽時間很坑, 外國人的比賽, 有時差.

沒有題目分類

全英文, 對小白不友好.

環境說明: 支持多種編程語言

刷題建議: 按照比賽刷, 從易到難, 難的也別直接就不看了, 試試啊.

可以經常參加比賽, 找找感覺

LeetCode //傳說都是面試題

優點: 題目難度適中, 又是面試題, 如果臨近找工作, 可以刷這個

題目都有討論, 會有大神講解

缺點:全英文

國內訪問速度不是很快

環境說明: 支持多種編程語言

刷題建議: 暫無

hrbust //哈爾濱理工大學的OJ

刷題建議: 配合上面提到的ACM Book刷挺好的.

其它OJ

其它OJ我也沒用過, 所以不予評論. 你們可以自己試試去:

比如: POJ, 計蒜課, UVa, CodeVS, 洛谷, 牛客網, PAT

資源

揹包九講 //自行百度

鄺斌的ACM模板 //自行百度

算法與數據結構

編程之法: 面試和算法心得

初等算法

編程之美: 微軟技術面試心得

Left-Leaning Red-Black Trees, Dagstuhl Workshop on Data Structures, Wadern, Germany, February, 2008.

其它內容

想到再補充吧(其實這樣說的話... 又不知道猴年馬月更新了...)

有啥問題可以右側微信聯繫我, 或者導航欄的關於小川

發佈了62 篇原創文章 · 獲贊 44 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章