id,title,slug,link,category_id,tags,type_id,image,provider_id,publisher_id,university_id,institution_id,duration,cost_id,certificate,difficulty,description,syllabus,pages,added_date,published_date,bad_link,popular 64076,"Algorithmic Thinking",algorithmic-thinking-64076,https://learning.oreilly.com/library/view/algorithmic-thinking/9781098128197/,1,,2,https://learning.oreilly.com/covers/urn:orm:book:9781098128197/300h/,,20,,,"10h 48m",3,"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?

",,"408 pages",2024-06-24,2020-12-01,no,