Moocable is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Algorithmic Thinking

Description

Algorithmic Thinking will teach you how to solve challenging programming problems and design your own algorithms. Daniel Zingaro, a master teacher, draws his examples from world-class programming competitions like USACO and IOI. You’ll learn how to classify problems, choose data structures, and identify appropriate algorithms. You’ll also learn how your choice of data structure, whether a hash table, heap, or tree, can affect runtime and speed up your algorithms; and how to adopt powerful strategies like recursion, dynamic programming, and binary search to solve challenging problems.

Line-by-line breakdowns of the code will teach you how to use algorithms and data structures like:

•The breadth-first search algorithm to find the optimal way to play a board game or find the best way to translate a book
•Dijkstra’s algorithm to determine how many mice can exit a maze or the number of fastest routes between two locations
•The union-find data structure to answer questions about connections in a social network or determine who are friends or enemies
•The heap data structure to determine the amount of money given away in a promotion
•The hash-table data structure to determine whether snowflakes are unique or identify compound words in a dictionary

NOTE: Each problem in this book is available on a programming-judge website. You’ll find the site’s URL and problem ID in the description. What’s better than a free correctness check?

Books

No Starch Press

Exclusively Paid

10h 48m

No Certificate

408 pages

  • Type
    Books
  • Provider
    No Starch Press
  • Pricing
    Exclusively Paid
  • Duration
    10h 48m
  • Certificate
    No Certificate

Algorithmic Thinking will teach you how to solve challenging programming problems and design your own algorithms. Daniel Zingaro, a master teacher, draws his examples from world-class programming competitions like USACO and IOI. You’ll learn how to classify problems, choose data structures, and identify appropriate algorithms. You’ll also learn how your choice of data structure, whether a hash table, heap, or tree, can affect runtime and speed up your algorithms; and how to adopt powerful strategies like recursion, dynamic programming, and binary search to solve challenging problems.

Line-by-line breakdowns of the code will teach you how to use algorithms and data structures like:

•The breadth-first search algorithm to find the optimal way to play a board game or find the best way to translate a book
•Dijkstra’s algorithm to determine how many mice can exit a maze or the number of fastest routes between two locations
•The union-find data structure to answer questions about connections in a social network or determine who are friends or enemies
•The heap data structure to determine the amount of money given away in a promotion
•The hash-table data structure to determine whether snowflakes are unique or identify compound words in a dictionary

NOTE: Each problem in this book is available on a programming-judge website. You’ll find the site’s URL and problem ID in the description. What’s better than a free correctness check?