STUDY GUIDE FOR MIDTERM
CSE 326 Autumn 2000
· Exam will be Friday, Oct 27th, from 2:30 to 3:20.
· Material to be covered: everything through Wednesday, Oct 25th.
· Questions will be drawn from:
o Weiss, Chapters 1 – 5. Only Sections 1.2-1.3 of Chapter 1 are relevant.
o Material from Project 2 on searching graphs.
o The lecture handouts.
· There will NOT be any questions on:
o Splay trees
o Radix sort
o Details of C++
· The exam will be closed books, closed notes.
· Be sure you know:
o how to compare functions using O(N), Θ(N), and Ω(N) notation
o how to analyze the running times of programs using the notions of worst case and best case complexity
o how to solve a simple recursive equation
o basic concept of average case analysis
o how to carry out a simple amortized analysis, of the type done in the lecture notes for stretchy arrays and rehashing
o tree traversals (preorder, inorder, postorder)
o how the basic dictionary operations are implemented, what their worst-case (and when appropriate, average case) running times are and what the tradeoffs are for using
§ linked lists and array-based lists, including lists of lists
§ unsorted and sorted lists
§ binary search trees (without balancing)
§ AVL trees
§ B-trees
§ hashing (including separate chaining, linear probing, quadratic probing, and double hashing).
· Study suggestions
o go over all the previously assigned homework problems carefully
o practice dictionary operations (find/insert/delete) on each of the data structures mentioned above
o perform the following algorithm:
do { choose two
data structures;
think of a
real-world application where the first would be superior to the second;
}
until ( ready for exam )