The Bible of Algorithms and Data Structures
Author | : Florian Dedov |
Publisher | : |
Total Pages | : 138 |
Release | : 2020-08-22 |
ISBN-10 | : 9798678017192 |
ISBN-13 | : |
Rating | : 4/5 (92 Downloads) |
Book excerpt: The Most Important Skill in Computer Science! The field of algorithms and data structures is one of the most important in computer science. You will rarely be invited to a coding interview at Google, Microsoft or Facebook and not be asked questions about it. This is because these companies know how valuable the skills taught are. It doesn't matter if you are into machine learning, ethical hacking, cyber security or enterprise software engineering. You will always need to be able to work with algorithms and data structures. However, this field is also by many considered to be one of the hardest, since it is so abstract and complex. This is mainly due to the style in which it is taught. Most professors in colleges focus on exact mathematical definitions instead of understanding. And while you can't blame them for doing their job, there are better ways to learn about this subject. This book is for everyone who is interested in an intuitive and simple approach to algorithms and data structures. It is for everyone who is frustrated with memorizing dry formal definitions. This bible covers all the formal definitions that are important and necessary but it mainly focuses on breaking complex things down in a simple way. At the end, you will not only know how to formally analyze algorithms but you will also deeply understand what is happening behind the scenes and why things are the way they are. After Reading This Book You Will Have The Following Skills: - Intuitive understanding of algorithms and data structures - Analyzing the runtime complexity of algorithms - Using the Big O notation - Dissecting and analyzing sorting algorithms (Bubble Sort, Merge Sort, Quick Sort...) - Understanding and applying graph theory and related algorithms (BFS, DFS, Kruskal, Dijkstra) - Understanding basic data structures and their time complexities (Linked Lists, Stacks, Heaps, Trees...) - Using self-balancing trees (AVL, B-Tree...) - Understanding and applying hashing and collision resolution Master Algorithms and Data Structure Simply and Intuitively!