|
|
|||
|
||||
OverviewA hands-on, problem-based introduction to building algorithms and data structures to solve problems with a computer. A hands-on, problem-based introduction to building algorithms and data structures to solve problems with a computer. 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? Full Product DetailsAuthor: Daniel ZingaroPublisher: No Starch Press,US Imprint: No Starch Press,US Weight: 0.368kg ISBN: 9781718500808ISBN 10: 1718500807 Pages: 408 Publication Date: 15 December 2020 Audience: General/trade , General Format: Paperback Publisher's Status: Active Availability: To order Stock availability from the supplier is unknown. We will order it for you and ship this item to you once it is received by us. Table of ContentsForeword Introduction Chapter 1: Hash Tables Chapter 2: Trees and Recursion Chapter 3: Memoization and Dynamic Programming Chapter 4: Graphs and Breadth-First Search Chapter 5: Shortest Paths in Weighted Graphs Chapter 6: Binary Search Chapter 7: Heaps and Segment Trees Chapter 8: Union-Find Chapter 9: Afterword Appendix A: Algorithm Runtime Appendix B: Because I Can’t Resist Appendix C: Problem Credits IndexReviewsWith Zingaro as a tutor by your side, you'll learn, through practice on challenging competition problems, a repeatable process for figuring out and deftly applying the most appropriate algorithmic tools for the job. You'll learn it all from a book that exudes clarity, humor, and just the right dose of Canadian pride. Happy problem-solving! --Dr. Tim Roughgarden, Professor of Computer Science at Columbia University A good choice for anyone who needs to understand and implement algorithms. --RedGreenCode With Zingaro as a tutor by your side, you'll learn, through practice on challenging competition problems, a repeatable process for figuring out and deftly applying the most appropriate algorithmic tools for the job. You'll learn it all from a book that exudes clarity, humor, and just the right dose of Canadian pride. Happy problem-solving! --Dr. Tim Roughgarden, Professor of Computer Science at Columbia University A good choice for anyone who needs to understand and implement algorithms. --RedGreenCode With Zingaro as a tutor by your side, you'll learn, through practice on challenging competition problems, a repeatable process for figuring out and deftly applying the most appropriate algorithmic tools for the job. You'll learn it all from a book that exudes clarity, humor, and just the right dose of Canadian pride. Happy problem-solving! --Dr. Tim Roughgarden, Professor of Computer Science at Columbia University A clear and engaging text . . . By presenting problems first and their algorithm/data structure solutions later, it shows us exactly why those solutions are useful and how they fit into the big picture. . . . Far too many textbooks present solutions fully-formed with no mention of the dead ends and too-complicated solutions you'd hit along the way. But Algorithmic Thinking takes you from the initial idea to the final breakthrough, setbacks and all. Problem solving is a raw, real journey, and this book captures its spirit perfectly. I highly recommend it. --Ava Pun, medal winner in the International Olympiad in Informatics Programming Competition Author InformationDr. Daniel Zingaro is an award-winning Assistant Professor of Mathematical and Computational Sciences at the University of Toronto Mississauga, where he is well known for his uniquely interactive approach to teaching, and internationally recognized for his expertise in Active Learning. Tab Content 6Author Website:Countries AvailableAll regions |