Material for Midterm
Generally, the lectures and homeworks should be the main clues
about what I consider important.
This is mostly an elaboration of the information
in our Reading Guide.
There are three key words I use in describing the
material: FOCUS, SKIP and KNOW.
SKIP is obvious, but what is the difference
between FOCUS and KNOW ? FOCUS is like KNOW,
only more intense.
Any material that I did not explicitly
exclude should be considered for light reading.
Don't address them until you mastered the explicitly asked material.
-
CHAPTER 1: INTRODUCTION
- Focus on 1.3.2 (pages 15-22 only), Algebra/Calculus
- -- All the material in these 8 pages are essential.
- Focus on 1.3.3, Logic background
- -- We won't actually ask any questions about logic!
- -- You just need to be able to
``apply logic'' in your answers.
- Focus on 1.5, Asymptotics
- -- very important material! Practice and
look at sample solutions.
- Skip 1.6 (searching an ordered array)
-
CHAPTER 2: ABSTRACT DATA TYPES
- Know the following ADT's:
- --
Queues and Stacks,
Binary Trees,
Priority Queues,
Dictionaries.
- --
Basically, it means knowing the main methods
of these ADT's, some simple implementations
and complexity properties.
-
CHAPTER 3: RECURRENCES
- Focus on 3.6 and 3.7, solving recurrences
- --
Remember that we have some extra material
from lectures that are not here.
- Focus on 3.4.1, induction proofs
- Skip 3.5 (Proof of program correctness)
- Skip 3.4.2 (long example)
-
CHAPTER 4: SORTING
- Know 4.2, Insertion Sort.
- Skip 4.2.3, lower bound for some sorting algorithms.
- Focus on 4.4, Quicksort.
- Know 4.5, 4.6, Mergesort.
- Know 4.7, Lower Bound for Sorting by Comparisons
- Focus on 4.8, Heapsort (but Skip 4.8.6).
- Skip 4.9.
-
CHAPTER 5: SELECTION
- Focus on 5.4, Selection Problem.
- Skip 5.3.3 (lower bound)
- Skip 5.6 (adversary)