Download presentation
Presentation is loading. Please wait.
Published byAlisha Wilson Modified over 9 years ago
1
Review for Final Exam Non-cumulative, covers material since exam 2 Data structures covered: –Treaps –Hashing –Disjoint sets –Graphs For each of these data structures –Basic idea of data structure and operations –Be able to work out small example problems –Prove related theorems –Advantages and limitations –Asymptotic time performance –Comparison Review questions are available on the web.
2
–Definition It is both a BST and a binary min heap (heap is not a CBT) Each node has a key/priority pair (priority is a random number) It obeys BST order according to key value It obeys heap order according to priority value –Treap operations find: same as BST (no change) insert: first insert as in BST, then rotate until heap order is restored remove: first find the item, then rotate it down until it becomes leaf Why rorate? What to do if item is not there or if it is a duplicate –Performance analysis Height is almost always O(log n) Why? –Comparison to BST, RBT, Splay tree Treaps
3
–Hash table Table size (primes) Trading space for time –Hashing functions Properties making a good hashing function Examples of division and multiplication hashing functions Operations (insert/remove/find/) –Collision management Separate chaining Open addressing (different probing techniques, clustering problem) –Worst case time performance: O(1) for find/insert/delete if is small and hashing function is good –Limitations Hard to answer order based queries (successor, min/max, etc.) Hashing
4
–Equivalence relation and equivalence class definitions and examples –Disjoint sets and up-tree representation representative of each set direction of pointers –Union-find operations basic union and find operation path compression (for find) and union by weight heuristics time performance when the two heuristics are used: O(m lg* n) for m operations (what does lg* n mean) O(1) amortized time for each operation Disjoint Sets
5
–Graph definitions G = (V, E), directed and undirected graphs, DAG path, path length (with/without weights), cycle, simple path connectivity, connected component, connected graph, complete graph, strongly and weakly connectedness. –Adjacency and representation adjacency matrix and adjacency lists, when to use which time performance with each –Graph traversal: DF and BF –Single source shortest path Breadth first (with unweighted edges) Dijkstra’s algorithm (with weighted edges) –Topological order (for DAG) What is a topological order (definitions of predecessor, successor, partial order) Algorithm for topological sort Graphs
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.