Competitive Programming in Python
Want to kill it at your job interview in the tech industry? Want to win that coding competition? Learn all the algorithmic techniques and programming skills you need from two experienced coaches, problem setters, and jurors for coding competitions. The authors highlight the versatility of each algorithm by considering a variety of problems and show how to implement algorithms in simple and efficient code. Readers can expect to master 128 algorithms in Python and discover the right way to tackle a problem and quickly implement a solution of low complexity. Classic problems like Dijkstra's shortest path algorithm and Knuth-Morris-Pratt's string matching algorithm are featured alongside lesser known data structures like Fenwick trees and Knuth's dancing links. The book provides a framework to tackle algorithmic problem solving, including: Definition, Complexity, Applications, Algorithm, Key Information, Implementation, Variants, In Practice, and Problems. Python code included in the book and on the companion website.
- Companion website provides additional pedagogical material and links to online judges for problems listed in the book
- Ninety-three figures help readers directly visualize the definitions and principles, and also illustrate counterarguments to see why naive approaches fail
- Written in a direct engaging style, avoiding tedious formal language, for deep understanding of underlying principles
- Assumes basic knowledge of programming, data structures, complexity analysis, and discrete math
Reviews & endorsements
'This book guides the reader through a collection of interesting problems, teaching us many ideas that underlie efficient algorithms. The simplicity of Python helps highlight the beauty and accessibility of the ideas. I found it a most enjoyable and engaging book.' Anupam Gupta, Carnegie Mellon University
Product details
No date availableAdobe eBook Reader
9781108673808
0 pages