This book is about the usage of Data Structures and Algorithms in computer programming. GitHub Link: https://github.com/Hemant-Jain-Author/ We will be studying complexity analysis. Then will look into the various data structures and their algorithms. We will be studying Linked-List, Stack, Queue, Trees, Heap, Hash Table and Graphs. We will be studying Sorting & Searching techniques. Then we will be looking into algorithm analysis, we will be looking into Brute Force algorithms, Greedy algorithms, Divide & Conquer algorithms, Dynamic Programming, Reduction, and Backtracking.
CHAPTER 0: HOW TO USE THIS BOOK CHAPTER 1: ALGORITHMS ANALYSIS CHAPTER 2: APPROACH TO SOLVE ALGORITHM DESIGN PROBLEMS CHAPTER 3: ABSTRACT DATA TYPE & RUBY COLLECTIONS CHAPTER 4: SEARCHING CHAPTER 5: SORTING CHAPTER 6: LINKED LIST CHAPTER 7: STACK CHAPTER 8: QUEUE CHAPTER 9: TREE CHAPTER 10: PRIORITY QUEUE CHAPTER 11: HASH-TABLE CHAPTER 12: GRAPHS CHAPTER 13: STRING ALGORITHMS CHAPTER 14: ALGORITHM DESIGN TECHNIQUES CHAPTER 15: BRUTE FORCE ALGORITHM CHAPTER 16: GREEDY ALGORITHM CHAPTER 17: DIVIDE-AND-CONQUER, DECREASE-AND-CONQUER CHAPTER 18: DYNAMIC PROGRAMMING CHAPTER 19: BACKTRACKING CHAPTER 20: COMPLEXITY THEORY AND NP COMPLETENESS