You’ve learned a lot in this journey, but your journey is only just beginning. (Cue dramatic music.)
You’ve learned that the right choices in algorithm design and data structures can dramatically affect the performance of your code.
You’ve learned how to determine the efficiency of your code.
You’ve learned how to optimize your code to make it faster, more memory-efficient, and more elegant.
What you can take away from this book is a framework for making educated technology decisions. Creating great software involves evaluating the trade-offs of the available options, and you’re now armed with the ability to see the pros and cons of each option and make the best choice for the task at hand. And you also have the ability to think of new options that may not have been immediately obvious at first glance.
I hope you also take away from this book the knowledge that topics like these—which seem so complex and esoteric—are just a combination of simpler, easier concepts that are within your grasp. Don’t be intimidated by resources that make a concept seem difficult simply because they don’t explain it well—a concept can always be broken down in a way it can be understood.
With the foundation you’ve built, more advanced topics and techniques are now within your reach. I invite you to continue your data structures and algorithms journey with me in Volume 2 of this book, which is expected to be published next. Keep your eye out for it.
In Volume 2 you’ll discover additional data structures, algorithms, and concepts that are fascinating, powerful, and practical. I dare say that they’ll transform you into an even better software engineer than you are now. Most importantly, Volume 2 will continue to change the way you think.
And of course, we’ll also have a lot of fun along the way. See you on the other side!
(Oh, but don’t forget to do your exercises first.)