程式解題書籍(本頁面圖片版權為原作者及原出版社所有)

程式解題書籍

名題精選百則:技巧篇
冼鏡光
儒林出版社
http://www.cs.mtu.edu/~shene/Chinese/Books/books.html

收集程式設計的經典問題,而且這些問題不會用到特殊的資料結構與演算法。題目大多小巧精緻,並附有文字說明、參考文獻、程式碼解答。非常具有啟發性,是一本好書!

程式解題書籍

培養與鍛鍊程式設計的邏輯腦:
世界級程式設計大賽的知識、心得與解題分享
秋葉拓哉、岩田陽一、北川宜稔
博碩文化
http://www.drmaster.com.tw/Bookinfo.asp?BookID=PG20300

這本書選錄大量題目,以題目為主角,介紹各種演算法。書中主題由易到難編排,擁有近年才出現的新主題,內容相當充實。

這本書是翻譯書,原書名是プログラミングコンテストチャレンジブック。

程式解題書籍


实用算法的分析与程序设计
吴文虎、王建德
电子工业出版社
http://product.china-pub.com/4814

新编实用算法的分析与程序设计
王建德、吴永辉
人民邮电出版社
http://www.ptpress.com.cn/Book.aspx?id=10065

程序设计中常用的解题策略
王建德、吴永辉
人民邮电出版社
http://www.ptpress.com.cn/Book.aspx?id=17493

第一本書是資訊競賽的經典名著,首度引入演算法設計策略之見解,開啟先河,影響深遠。目前第一本書已經絕版。書中的程式碼是Pascal。

第二本書收錄演算法競賽的各個大主題,內容與第一本書並無太大交集。雖然相比之下不如第一本書那般經典,但是這本書仍舊非常具有學習價值。

第三本書整理一些冷僻罕見的題目,內容較雜。旨在提供多樣化解法,促進讀者思考能力。

程式解題書籍

算法艺术与信息学竞赛
刘汝佳、黄亮
清华大学出版社
http://www.tup.com.cn/book/Showbook.asp?CPBH=007905-01

相當了不起的一本書,可謂英雄出少年。作者將自身的程式解題的學習經驗,整理成一本專書,內容深奧艱澀,市面上其他專書不能及。然而此書內容多是片面見解,缺乏系統,並不適合初學者做為學習教材,適合已有深厚功力的人閱讀。

另外,這本書出版之後受到廣大迴響,作者集合一群同好者,共同寫下了一本電子書「算法艺术与信息学竞赛习题指导」,把近年來的資訊競賽題型全數包羅其中。這本電子書可以用搜尋引擎找到。此書仍是適合已有深厚功力的人閱讀。

程式解題書籍

算法竞赛入门经典
刘汝佳
清华大学出版社
http://www.tup.com.cn/book/Showbook.asp?CPBH=032242-01

整理演算法競賽的各種主題,摘錄大量UVa Online Judge的題目作為練習題,是本不錯的參考書。

UVa Online Judge有一個題目分類AOAPC I: Beginning Algorithm Contests (Rujia Liu),便是此書的練習題。

程式解題書籍

Competitive Programming
Steven Halim, Felix Halim
Lulu
http://sites.google.com/site/stevenhalim/

世界上第一本程式解題教科書!詳細介紹競賽常用演算法,精心挑選大量UVa Online Judge練習題,配有追蹤解題進度的網站UVa Hunting,出書之前還在大學課程中試教數年,可以說是規劃相當完善的系統教材。唯一缺憾是此書收錄的主題偏易,未及當今的演算法競賽水準。

台灣並沒有販售這本書。

程式解題書籍

Programming Challenges
Steven S. Skiena and Miguel Revilla.
Springer
http://www.programming-challenges.com/

第一本以UVa Online Judge的題庫為基礎,將題目分門別類、闡述解題策略的書,但是它的分類原則實在讓人匪夷所思。UVa Online Judge歷年來一直幫此書打廣告,但事實上此書實際功用不大,純粹只是具有歷史上的指標意義罷了。

台灣並沒有販售這本書。

數學書籍

數學書籍

Discrete Mathematics and Its Applications
Kenneth Rosen
McGraw-Hill
http://highered.mcgraw-hill.com/sites/0072880082/information_center_view0/

離散數學,資工系用書,演算法的數學知識。此書含有許多程式解題的基礎概念。細讀此書,對程式解題有一定幫助。

數學書籍

數學思考
台北市建國高中第49屆314班合譯
九章出版社
http://www.chiuchang.com.tw/catalog/detail.php?bid=212

很有趣的數學書籍,教導如何解決數學問題。書中所提到的思考方式,其實和程式解題是相通的。

這是一本中文翻譯書。原著名稱為Thinking Mathematically,作者為John Mason。

數學書籍

How to Solve It
G. Pólya
Princeton University Press
http://press.princeton.edu/titles/669.html

鼎鼎有名的「怎樣解題」!是偉大的數學教育著作,凡是學習科學的人都應該一讀。看書本標題就能知道此書與本站極有關聯。

這本書有繁體中文譯本,天下文化出版社2006年初版發行、九章出版社1978年初版發行。

程式語言書籍

程式語言書籍

C++ Primer
Stanley B. Lippman, Josée Lajoie, Barbara E. Moo.
Addison-Wesley Professional
http://www.pearsonhighered.com/bookseller/academic/product/0,3110,0201721481,00.html

有名的C++書籍,用字淺顯,條理分明。這本書提到很多程式語言的抽象概念,入門者讀來會稍微吃力,適合已有基礎的人閱讀。

這本書有繁體中文譯本。

程式語言書籍

The C Programming Language
Brian W. Kernighan, Dennis M. Ritchie
Addison-Wesley / Prentice Hall
http://cm.bell-labs.com/cm/cs/cbook/

C語言設計者之著作。此書以大量實例,示範各個語法的運用方式、適用情況、應用範疇,讓讀者瞭解如何運用C來完成工作。C與C++的學習者,建議詳閱此書。

這本書有繁體中文譯本。

資料結構暨演算法書籍

資料結構書籍

Fundamentals of Data Structures in C++
Ellis Horowitz, Sartaj Sahni, Dinesh Mehta.
Silicon Press
http://www.silicon-press.com/books/isbn.0-929306-37-6/index.html
http://www.silicon-press.com/books/isbn.9780929306407/index.html

這是一本談論資料結構的書,並有少量演算法。此書內容以文字敘述和虛擬碼居多,示意圖稍嫌不足,需要痛下苦工才能讀通。

這本書同時出版C、C++兩種版本,讀者可以擇一學習。

這本書的初版,是由別家出版社出版的,是精裝本,除了C、C++還有Pascal版本。目前初版已絕版。

這本書有繁體中文譯本。

演算法書籍

Introduction to Algorithms
Thomas H. Cormen, Charles E. Leiserson,
Ronald L. Rivest, Clifford Stein.
The MIT Press
http://mitpress.mit.edu/algorithms/

這是一本談論演算法的書,介紹了演算法的先備知識、基本概念;揀選了大量的、基礎的演算法做為教學範例,並且分析的相當透徹;提出幾個演算法設計方法,並以專門章節詳加介紹,書中也隨處可見到這些設計方法。

MIT出版,品質掛保證,是世界上各大專院校的演算法課程主要用書,為當代的演算法教學聖經。

這本書有繁體中文譯本。

演算法書籍

The Algorithm Design Manual
Steven S. Skiena.
Telos/Springer-Verlag
http://www.algorist.com/

這本書前半部依照演算法設計方式,將一些常見的問題做分類;後半部則是列舉出各領域的一些經典問題。這種整理方式應該是首開先例吧!另外這本書的網站上面有許多可貴的資料,可以參考看看。

演算法書籍

The Art of Computer Programming
Donald E. Knuth
Addison-Wesley
http://www-cs-faculty.stanford.edu/~knuth/taocp.html

高德納老先生正在編纂第四冊,讓我們拭目以待!

演算法書籍

Computational Geometry: Algorithms and Applications
Mark de Berg, Otfried Cheong,
Marc van Kreveld, Mark Overmars.
Springer-Verlag
http://www.cs.uu.nl/geobook/

這是一本談論計算幾何演算法與資料結構的書。各項主題整理的有條有理,容易理解。這本書所談論的主題,有一點偏向電腦繪圖方面,與傳統的計算幾何書籍不太一樣。

演算法書籍

Network Flows: Theory, Algorithms, and Applications
Ravindra K. Ahuja, Thomas L. Magnanti, James B. Orlin.
Addison-Wesley / Prentice Hall
http://www.ise.ufl.edu/ahuja/books.asp

這是一本談論網路流量問題的書。網路流量問題是圖論裡面一個非常重要,而且應用很廣的問題。

演算法書籍

Combinatorial Optimization: Theory and Algorithms
Bernhard H. Korte, Jens Vygen.
Springer
http://www.or.uni-bonn.de/~vygen/co.html

這是一本談論組合最佳化的書,可以找到一些進階的圖論演算法。

許多人對於組合數學相當陌生,這裡以個人理解,稍作簡介。其實資訊科學有一大部分,是從組合數學這個領域發展而來的,諸如排列組合、圖論、群論等等都是組合數學。至於組合最佳化,則是探討那些「解答有好壞差別」的問題,主要都是圖論與線性規劃的問題;組合最佳化也探討如何計算最佳解答,而這些計算方法,在現代就叫做演算法。