This exam will cover everything up through last Tuesday, which is to say everything up to and including searching. You will have the entire class period to finish the exam (an hour and fifteen minutes). You will be allowed no calculator or book, but can bring a single 3" x 5" index card, upon which you may write anything that you so desire. This card will be turned in with your exam.
The exam will focus primarily upon the material covered in class. Not everything we've done in class has been in the online notes (e.g. radix sort), so if you missed any days, be sure to get the notes from someone. To study, you may find it helpful to skim over your notes and the online notes. What will be even more useful is to do problems. There is a slew of practice problems in the online notes, along with corresponding answers. (These are listed in the "Test Yourself" sections.) I encourage you to do those. Also, here are a few more that cover things not in the notes:
head
pointer and linked lists that had a head
and a tail
pointer. What would happen if we added a middle
pointer? How would this change the run-time in a big-O sense? In what situations would this be more or less useful? Are there other pros or cons to this approach?
a
be greater than or equal to parameter b
. What would happen if we passed parameters such that b
was greater than a
? Here's a link to our code.