60 likes | 196 Views
Review for Midterm Neil Tang 03/04/2010. Algorithm Analysis. Asymptotic notations (O, , ): definition, properties Important functions: polynomial, logN, 2 N Rules Time complexities of major sorting algorithms: insertion, quick, merge, and heap. Recursion and the master method
E N D
Review for Midterm Neil Tang03/04/2010 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
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
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
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
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