engineering Java Algorithms Chapter 1: binary search LIFO stack FIFO queue Chapter 2: top-down mergesort quicksort max heap priority queue heapsort Chapter 3: binary search tree separate chaining hash table linear probing hash table Chapter 4: undirected graph paths in a graph (DFS) paths in a graph (BFS) connected components of a graph directed graph paths in a digraph (DFS) paths in a digraph (BFS)