Review for Midterm Neil Tang 03/04/2010 CS223 Advanced Data Structures and Algorithms
CS223 Advanced Data Structures and Algorithms Algorithm Analysis Asymptotic notations (O, , ): definition, properties Important functions: polynomial, logN, 2N Rules Time complexities of major sorting algorithms: insertion, quick, merge, and heap. Recursion and the master method Sum calculation: double-sum and sum of an arithmetic-geometric sequence CS223 Advanced Data Structures and Algorithms
CS223 Advanced Data Structures and Algorithms Trees Basic concepts Tree traversals Binary search tree: insert, remove and time complexities AVL tree: rotation methods Red-black tree: definition, rotation and color fix methods. CS223 Advanced Data Structures and Algorithms
CS223 Advanced Data Structures and Algorithms Heap Binary heap: insert, deleteMin, percolateUp/Down, buildHeap and time complexities. Heapsort An application: find kth largest/smallest element. D-heap: Definition, how to locate parent and child nodes. CS223 Advanced Data Structures and Algorithms
CS223 Advanced Data Structures and Algorithms Hashing Hash functions Separate chaining Open addressing: linear probing, quadratic probing, double-hashing Load factor, primary/secondary clustering problems Rehashing: conditions CS223 Advanced Data Structures and Algorithms
CS223 Advanced Data Structures and Algorithms Disjoint Set Implementations: Linked-list and array Union: basic, union-by-size, union-by-rank Find: basic, path compression, time complexities CS223 Advanced Data Structures and Algorithms