Summary Preface Outline Asymptotic-Analysis Divide-and-Conquer (DnC) Overview Multiplication DnC Strategy Master Method Randomization Overview Discrete Probability Randomized Algorithms Sorting Overview Selection Sort Bubble Sort Insertion Sort Shell Sort Merge Sort Heap Sort Quick Sort Graph Algorithms Overview Minimum Spanning Tree Shortest Path Tree Overview Balanced Search Tree AVL Tree Red-Black Tree B Tree Heap Searching Overview Binary Search Graph Search Hash Table String Search Dynamic Programming Overview Greedy Algorithms Overview