acm學習心得及書籍推薦


一般要做到50行以內的程序不用調試、100行以內的二分鍾內調試成功.acm主要是考算法的,主要時間是花在思考算法上,不是花在寫程序與debug上。

下面給個計划練練:  

第一階段:練經典常用算法,下面的每個算法打上十到二十遍,同時自己精簡代碼。因為太常用,所以要練到寫時不用想,10-15分鍾內打完,甚至關掉顯示器都可以把程序打出來.  

1.最短路(Floyd、Dijstra,BellmanFord)  

2.最小生成樹(先寫個prim,kruscal要用並查集,不好寫)

3.大數(高精度)加減乘除

4.二分查找. (代碼可在五行以內)  

5.叉乘、判線段相交、然后寫個凸包.  

6.BFS、DFS,同時熟練hash表(要熟,要靈活,代碼要簡)  

7.數學上的有:輾轉相除(兩行內),線段交點、多角形面積公式.

8. 調用系統的qsort, 技巧很多,慢慢掌握.

9. 任意進制間的轉換

 

 

第二階段:練習復雜一點,但也較常用的算法。

如:

1. 二分圖匹配(匈牙利),最小路徑覆蓋

2. 網絡流,最小費用流。  

3. 線段樹.   

4. 並查集。  

5. 熟悉動態規划的各個典型:LCS、最長遞增子串、三角剖分、記憶化dp  

6.博弈類算法。博弈樹,二進制法等。  

7.最大團,最大獨立集。  

8.判斷點在多邊形內。  

9. 差分約束系統.  

10. 雙向廣度搜索、A*算法,最小耗散優先.

 

 

給學習算法的人一點買書的建議吧。

 入門三本:

數據結構與算法》(傅清祥,王曉東編著,我所見過的最好的算法教材)


程序設計導引及在線實踐  作者: 李文新


ACM程序設計培訓教程 吳昊

 

基礎提高:

算法設計與分析 這是國內牛人王曉東的大作,非常不錯的算法書

算法設計與試驗題解 王曉東

計算幾何-算法設計與分析 周培德

組合數學 第三版 馮舜璽 譯

算法藝術與信息學競賽   劉汝佳的傑作,引導着信息學競賽的發展


如果算法導論是九陽神功,那這本無疑就是九陰真經。本書是專為參加一些諸如ACM之類程序設計比賽的同學而寫的,江湖人稱“黑書”。里面講的都是一些在編程比賽中常用的算法、數據結構,以及一些數論和計算幾何等。我雖然並不搞競賽,但也從此書中受益頗多。

國際信息學奧林匹克競賽指導— — 實用算法的分析與程序設計   吳文虎 王建德

 

Introduction to Algorithm 科曼著 傳說中的寶典

算法導論(原書第3版) 

Algorithms 算法概論

短小精悍,別據一格,准經典之作。一個壞消息: 同算法導論,該書沒有習題答案。好消息:習題很經典,難度也適中,只需花點點時間自己也都能做出來。另有中文版名《算法概論》,如果有心的話,還是盡量看原版吧,其實看原版與看中文版花費時間不會相差很大,因為大部分時間其實都花費在做習題上了。

Algorithm Design 算法設計

 

《程序設計中的組合數學》 吳文虎

《ACM國際大學生程序設計競賽試題與解析》全部冊(吳文虎著,清華大學出版社)

ACM國際大學生程序設計競賽試題與解析

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM