Algorithmic Thinking: A Problem-Based Introduction

Algorithmic Thinking: A Problem-Based Introduction

eBook Details:

  • Paperback: 408 pages
  • Publisher: WOW! eBook (December 15, 2020)
  • Language: English
  • ISBN-10: 1718500807
  • ISBN-13: 978-1718500808

eBook Description:

Algorithmic Thinking: A Problem-Based Introduction

Algorithmic Thinking: A Problem-Based Introduction 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?

DOWNLOAD

2 Responses

  1. February 24, 2021

    […] Into Algorithms: A Pythonic Adventure for the Intrepid […]

  2. March 2, 2021

    […] Applied Computational Thinking with Python: Use the computational thinking philosophy to solve complex problems by designing appropriate algorithms to produce optimal results across various domains […]

Leave a Reply

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.