If you thought data structures and algorithms were all just theory, you're missing out on what they can do for your Python code. Learn to use Big O notation to make your code run faster by orders of magnitude. Choose from data structures such as hash tables, trees, and graphs to increase your code's efficiency exponentially. With simple language and clear diagrams, this book makes this complex topic accessible, no matter your background. Every chapter features practice exercises to give you the hands-on information you need to master data structures and algorithms for your day-to-day work.
Algorithms and data structures are much more than abstract concepts. Mastering them enables you to write code that runs faster and more efficiently, which is particularly important for today's web and mobile apps. Take a practical approach to data structures and algorithms, with techniques and real-world scenarios that you can use in your daily production code. The Python edition uses Python exclusively for all code examples, exercise, and solutions. Use Big O notation to measure and articulate the efficiency of your code, and modify your algorithm to make it faster. Find out how your choice of arrays, linked lists, and hash tables can dramatically affect the code you write. Use recursion to solve tricky problems and create algorithms that run exponentially faster than the alternatives. Dig into advanced data structures such as binary trees and graphs to help scale specialized applications such as social networks and mapping software. You'll even encounter a single keyword that can give your code a turbo boost. Practice your new skills with exercises in every chapter, along with detailed solutions. Use these techniques today to make your Python code faster and more scalable.
4.5. It was pretty darn easy to work my way through. There were a few things I thought could be clearer. There's a semi-serious error in Chapter 9, in the Abstract Data Types section. The section describes pop and read as operating on the beginning of the array, but the code does the opposite — both methods operate on the end of the array. Specifically, .pop() with no argument removes the last item in Python, and [-1] accesses the last item. Since a stack's "top" is the end of the underlying array, the code is correct and honors the stack contract. The prose explanation just has the direction backwards, saying "beginning" and "first" when it should say "end" and "last."