Algorithmic Thinking : Unlock Your Programming Potential, 2/e (Paperback)
暫譯: 算法思維:解鎖你的程式設計潛能,第二版(平裝本)

Zingaro, Daniel

相關主題

商品描述

Get in the game and learn essential computer algorithms by solving competitive programming problems, in the fully revised second edition of the bestselling original. (Still no math required!)

Knowing how to design algorithms will take you from being a good programmer to a great programmer. This completely revised second edition teaches you how to design your own rocket-fast, right-for-the-task algorithms--minus the proofs and complex math. Forget the useless pseudocode and played-out examples you've seen in other books. Author and award-winning educator Dan Zingaro draws problems straight from online programming competitions to rigorously teach you all of the heavyweights you need to know, like hash tables, recursion, trees, graphs, and heaps. As he guides you to the perfect algorithmic solution for each unique programming puzzle, you'll build up a toolkit of go-to algorithms for quickly and correctly solving any problem you come across.

The second edition features several entirely new chapters on dynamic programming and randomized algorithms, as well as more effective problems and enhanced explanations. Code examples are provided using the C language.

Learn how to:

  • Classify problems, choose data structures, and identify appropriate algorithms
  • Choose between data structures like hash tables, heaps, or trees, based on how they affect runtime and speed
  • Adopt powerful strategies like recursion, dynamic programming, and binary search to solve challenging problems
  • Apply the breadth-first search algorithm to find the optimal way to play a board game, Dijkstra's algorithm to determine the fastest routes between two locations, and many more

商品描述(中文翻譯)

進入競賽,透過解決競賽編程問題來學習基本的計算機算法,這是暢銷書的全面修訂第二版。(仍然不需要數學!)

了解如何設計算法將使你從一名優秀的程序員成長為一名卓越的程序員。這本完全修訂的第二版教你如何設計自己的快速且適合任務的算法——不需要證明和複雜的數學。忘掉你在其他書籍中看到的無用偽代碼和過時的例子。作者及獲獎教育者 Dan Zingaro 直接從線上編程競賽中提取問題,嚴謹地教你所有必須掌握的重點知識,如哈希表、遞歸、樹、圖和堆。在他引導你找到每個獨特編程謎題的完美算法解決方案的過程中,你將建立一套快速且正確解決任何問題的常用算法工具包。

第二版包含幾個全新的章節,涵蓋動態編程和隨機算法,以及更有效的問題和增強的解釋。代碼示例使用 C 語言提供。

學習如何:


  • 分類問題、選擇數據結構並識別合適的算法

  • 根據數據結構(如哈希表、堆或樹)對運行時間和速度的影響來進行選擇

  • 採用強大的策略,如遞歸、動態編程和二分搜索來解決挑戰性問題

  • 應用廣度優先搜索算法來找到玩棋盤遊戲的最佳方式,使用 Dijkstra 算法來確定兩個位置之間的最快路徑,還有更多

作者簡介

Dr. Daniel Zingaro is an award-winning associate professor of mathematical and computational sciences at the University of Toronto Mississauga. He is well known for his uniquely interactive approach to teaching and internationally recognized for his expertise in active learning. He is also the author of Learn to Code by Solving Problems (No Starch Press) and co-author of Learn AI-Assisted Python Programming.

作者簡介(中文翻譯)

丹尼爾·辛加羅博士是多倫多大學密西沙加校區的獲獎副教授,專攻數學與計算科學。他以獨特的互動教學方式而聞名,並因其在主動學習方面的專業知識而受到國際認可。他也是《透過解決問題學習程式設計》(No Starch Press)的作者,以及《學習AI輔助的Python程式設計》的共同作者。