Final Exam Review
The final exam will focus (75%) on material studied
since the mid-term. A small part of the exam (25%) will
focus on material studied in the first half of the class (Haskell, sorting, searching, hash-tables).
Key points to review for the final exam fall in the
following categories.
- Game Trees
- Variable branching factor
- Depth v.s. Breadth first search
- Using the appropriate data structures and algorithms
- Stacks and Queues
- Fifo v.s. Lifo
- Command v.s. Pure implementations
- Data structures used (lists, arrays, pointers)
- Costs
- Trees stored in Arrays
- Implicit pointers
- Formulas for computing left-child, right-child, parent, and root.
- Incremental growth
- balance properties
- full v.s. complete
- Heaps and priority Queues
- Heap invariants
- Min v.s. Max Heaps
- Embedding heaps in Arrays
- Leftist Heaps, the leftist invariant
- Costs
- Heap Sort
- Satellite data
- Pointers
- The PtrCommands library
- Linked structures
- Costs
- Doubly linked structures
- Graphs and graph algorithms
- Types of graphs
- Representing graphs (functions, arrays)
- Algorithms (search, reachabiltity, paths, cycles)
- Depth first v.s. breadth first strategies
- Infinite graphs
- Multi-way balanced trees
- 2-3 Trees
- B-trees
- Appication to data bases
- Costs, advantages and disadvantages (intra-node search)
- Comparison to rotation based balanced trees.
Big topics that span the whole quarter
- Contracts and types to specify interfaces
- Sorting
- Searching
- Cost analysis
- Command based v.s. Pure implementations
- Trees and Balanced Trees
- The use of invariants
- Choosing data structures to meet the needs of individual programs
- Designing datastrutures using Algebraic and Abstract data types
- Program design recipes
Back to the Daily Record.
Back to the class web-page.