Final Exam Notes ---------------- Exam will be cumulative, but focus on things not covered on the midterm You're expected to know and understand all of the earlier topics and be able to use them as needed. There *will* be questions on all the data structures seen this year as well as on recursion, Big-O and friends, etc. Don't be surprised at seeing a bunch of Big-O questions about all the data structures we've seen (including best-case and average-case questions). Also fair game are questions relating to the lab assignments. Priority Queues --------------- - Various implementations (list, sorted list, heap) - Array based binary heaps - Linear time construction Hashtables ---------- - Hashcodes, mapping to buckets, division of responsibilities - Linear Chaining - Open addressing with probing - linear, quadratic, double hashing, MAD Tries ----- - representation and usage Graphs ------ - Terminology - Directed, undirected, simple, etc. - Ways of representing - Shortest path calculations - Dijkstra, unweighted BFS - Spanning sub-graphs - Topological sorting Sorting ------- - Selection - Bubble - Insertion - Shell - Merge - Quick - QuickSelect - Binary search - Limits to sorting speed