112 Final Review Topics
The final is cumulative. Read the Midterm 1 and Midterm 2 review pages for a list of topics covered before the second midterm.
Topic areas:
Lectures (1 –
10, priority queues (ch 11), hash tables (ch 12), templates, standard template library, Appendix A)
All assignments
All labs in which I did a lecture
Solving problems (some you will not have seen before)
The rest of this page contains those topics not on the Midterm 1 and Midterm 2 review pages.
Overview:
This
will be a hard exam.
There
is a lot of material, in order to be ready to move on, you need to be
able to bring it all together.
I
will ask some questions that will require you to solve a problem
instead of just regurgitating material from the lecture and the
textbook. In other words you will have to solve problems I have not
done in class. For example:
Averaging the elements in a linked list
Finding the largest element in a tree
Moving an element in a doubly-linked list
Exam Topics from Lecture:
Object Orientation
public/protected/private
inheritance
virtual functions
pure virtual functions
Algorithmic Complexity
vocabulary
run time complexity
worst case analysis
average case analysis
order of magnitude
big-O notation
what is the run-time complexity of the given code
sorting
you do not have to recall the sorting
algorithms but given the algorithm you should be able to explain how it
works and its run-time complexity
Trees
vocabulary
node
edge
root
parent/child
sibling
height
binary search tree
implementing tree functions (both recursive and non-recursive)
search in a tree (both an ordered binary search tree and a non-ordered tree)
inserting into a tree
removing from a tree
Hast Tables
basic idea of how they work
run-time complexity for insert and lookup
concept of a hash function
what to do if there is a collision (two data have the same hash value)
Exam Topics from Labs:
All lab related questions will be on labs before the second midterm.
See
Midterm 1 and
Midterm 2 review pages.
Exam Topics from Assignments:
p6: shapes -- inheritance
programs using inheritance
p7: train -- trees
inserting into a tree
searching into a tree
lookup in a tree