Data Structures and Algorithms Data Structures Linear Data Structures Static Data Structures Arrays Dynamic Data Structures Stacks Queues Linked Lists Non-Linear Data Structures Trees Red-Black Trees Graphs Heaps Hash Tables Algorithms Searching Sorting Simple Sorting Algorithms Bubble Sort Selection Sort Insertion Sort Advanced Sorting Algorithms Merge Sort Shell Sort Quick Sort Dynamic Programming Greedy Algorithms Divide and Conquer Backtracking Graph Algorithms Depth-First Search (DFS) Breadth-First Search (BFS) Minimum Spanning Tree Shortest Path String Algorithms Mathematical Algorithms Geometric Algorithms Bit Manipulation Algorithms Randomized Algorithms Branch and Bound Recursion Hashing