Algorithmic Thinking, 2nd Edition: Unlock Your Programming Potential

Zingaro, Daniel

  • 出版商: No Starch Press
  • 出版日期: 2024-01-23
  • 售價: $1,870
  • 貴賓價: 9.5$1,777
  • 語言: 英文
  • 頁數: 480
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1718503229
  • ISBN-13: 9781718503229
  • 相關分類: R 語言Algorithms-data-structures
  • 海外代購書籍(需單獨結帳)

商品描述

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語言提供。學習如何:


  • 分類問題,選擇數據結構,並確定適當的算法


  • 根據它們對運行時間和速度的影響,選擇哈希表、堆或樹等數據結構


  • 採用遞歸、動態規劃和二分查找等強大策略來解決具有挑戰性的問題


  • 應用廣度優先搜索算法找到玩棋盤遊戲的最佳方式,應用迪傑斯特拉算法確定兩個位置之間的最快路線,以及更多


作者簡介

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.

作者簡介(中文翻譯)

Dr. Daniel Zingaro 是多倫多大學密西沙加分校的數學和計算科學副教授,並且是獲獎無數的教授。他以獨特的互動教學方法而聞名,並且在主動學習方面享有國際聲譽。他也是《Learn to Code by Solving Problems》(No Starch Press)的作者,以及《Learn AI-Assisted Python Programming》的合著者。