A Common-Sense Guide to Data Structures and Algorithms 2nd Edition, ISBN-13: 978-1680507225
[PDF eBook eTextbook]
- Publisher: Pragmatic Bookshelf; 2nd edition (September 1, 2020)
- Language: English
- 508 pages
- ISBN-10: 1680507222
- ISBN-13: 978-1680507225
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 code faster and more scalable.
Who Is This Book For?
This book is ideal for several audiences:
• You are a computer science student who wants a text that explains data structures and algorithms in plain English. This book can serve as a supplement to whatever “classic” textbook you happen to be using.
• You are a beginning developer who knows basic programming, but wants to learn the fundamentals of computer science to write better code and increase your programming knowledge and skills.
• You are a self-taught developer who has never studied formal computer science (or a developer who did but forgot everything!) and wants to leverage the power of data structures and algorithms to write more scalable and elegant code.
Whoever you may be, I tried to write this book so it can be accessed and enjoyed by people of all skill levels.
What’s New in the Second Edition
Why a second edition? In the few years since the original edition was published, I’ve had the opportunity to teach these topics to various audiences. Over time, I continued to refine my explanations as well as discover additional topics that I thought were exciting and important. There was also quite a bit of demand for hands-on exercises that would help people gain practice with these concepts.
Accordingly, the second edition has the following new features:
- Revised material. I’ve made significant revisions to the original chapters for the sake of clarity. While I thought that the first edition did a pretty good job in making these complex topics easy to understand, I found that there was room to make certain areas even clearer.Many sections of the original chapters have been entirely rewritten, and I’ve added brand-new sections as well. I feel that these revisions alone have enhanced the book to make it worthy of a new edition.
- New chapters and topics. The second edition contains six new chapters that cover topics I’m particularly excited about. The book has always blended practice with theory, but I added even more material that you can take straight to the bank. The chapters Big O in Everyday Code and Techniques for Code Optimization focus exclusively on day-to-day code, and how knowledge of data structures and algorithms can help you write more efficient software. I went all out when it came to recursion. While the previous edition contained a chapter on this topic, I devoted an entirely new chapter, Learning to Write in Recursive, to teach you how to write recursive code, which can be confusing for beginners. I haven’t seen this explained anywhere else, and I think it’s a unique and valuable addition. I also added the chapter, Dynamic Programming, which is a popular subject, and one critical to making recursive code more efficient. There are many data structures out there, and it’s difficult to select which to include and which to leave out. However, there’s been increased demand to learn about heaps and tries, and I’ve found them to be fascinating as well. Hence the chapters, Keeping Your Priorities Straight with Heaps and It Doesn’t Hurt to Trie.
- Exercises and solutions. Each chapter now has a number of exercises that allow you to gain hands-on practice with each topic within the book. I also added detailed solutions, which are available in an appendix at the back of the book. This is a significant enhancement that transforms the book into a more complete learning experience.
Jay Wengrow is an experienced educator and developer who is dedicated to teaching the world to code. He is the founder and CEO of Actualize, a national coding bootcamp and apprenticeship; Anyone Can Learn To Code, an educational company teaching everyone to code through online tutorials, K-12 computer science curriculum, and corporate training.
What makes us different?
• Instant Download
• Always Competitive Pricing
• 100% Privacy
• FREE Sample Available
• 24-7 LIVE Customer Support