70 likes | 225 Views
Review for Exam 2. Topics covered: Recursion and recursive functions General rooted trees Binary Search Trees (BST) Splay Tree RB Tree K-D Trees For each of these data structures Basic idea of data structure and operations Be able to work out small example problems
E N D
Review for Exam 2 • Topics covered: • Recursion and recursive functions • General rooted trees • Binary Search Trees (BST) • Splay Tree • RB Tree • K-D Trees • For each of these data structures • Basic idea of data structure and operations • Be able to work out small example problems • Prove related theorems • Asymptotic time performance • Advantages and limitations • comparison
Review for Exam 2 • Recursion • Recurrence relation, recursive definition and recursive function • Base case(s) • Recursion part • Related to induction and problem reduction • Linear recursion, tree recursion and tail recursion • Good and bad things about recursive function (vs. iterative function) • Be able to write recursive functions (in pseudo code and C++)
Review for Exam 2 • General rooted tree • Definition • Height and depth, path length • Binary and K-ary tree and their nodes • Binary trees • Full, complete and perfect binary trees • Internal and external nodes, IPL, EPL • 4 different orders of tree traversals
Review for Exam 2 • BST • Definition • Basic operations and their implementations • find, • findMin, • findMax • insert, • remove, • makeEmpty • Time performance of these operations • Problems with unbalanced BST (degeneration)
Review for Exam 2 • Splay tree • Definition (a special BST: balanced in some sense) • Rationale for splaying (data locality) • Splay operation • Root • without grandparent • with grandparent: zig-zag and zig-zig • When to splay (after each operation) • What to splay with find/insert/delete operations • Amortized time performance analysis: what does O(m log n) mean?
Review for Exam 2 • RB tree • Definition: a BST satisfying 5 conditions • Every node is either red or black. • Root is black • Each NULL pointer is considered to be a black node • If a node is red, then both of its children are black. • Every path from a node to a NULL contains the same number of black nodes. • Theorems leading to O(log n) worst case time performance • Black height • min and max # of nodes a RB tree with bh=k can have • Bottom-up insertion and deletion, top-down insertion • Why top down?
Review for Exam 2 • K-D Trees • What K-D trees are used for • Multiple keys • How K-D tree differs from the ordinary BST • levels • Be able to do insert and range query/print