Midterm Review Guide

advertisement
Midterm Review Guide
Comments: This is only a suggestion of some topics to not overlook when studying for the
midterm and it is not intended to be complete. In particular, some topics on this midterm test
will probably not be included.
 General – For all chapters
 May be asked to evaluate running time of algorithm or algorithm segments for
algorithms we have studied.
 Understand and be able to answer questions about any algorithm discussed in class.
 I usually do not ask for a formal statement of algorithms, but may ask for an informal
description of them or (more likely) for you to show the intermediate as well as final
results produced by an algorithm running on fairly simple data set that I provide.
 Homework problems for any chapter or topic covered could either appear on the test or
be the basis for questions (e.g., true-false, multiple-choice, fill-in-the-blank, short
discussion, or a more detailed discussion).
 Chapter 1
 Understand algorithm definition
 Understand advantages and disadvantages of analysis of algorithms using (1) complexity
analysis vs (2) experimental studies.
 The RAM model is important, as it is the basis of our complexity analysis of algorithms.
It is discussed further in the parallel topics related to PRAM.
 Understand basics and purpose of log-log chart.
 Be able to determine and compare growth rates of different algorithms using
particularly the Big-Oh notation.
 Working understanding of logarithms and exponents and their properties will be
expected
 In addition to Big-Oh, you should also understand Big-Omega and Big-Theta notation. I
will not test little-oh or little-omega understanding. You should also know the limit
definition of these concepts, as they are often easier to compute.
 Understand the practical value of algorithms having smaller Big-Oh complexity
 Understand and be able to use proof techninques. Often, these techniques allow you to
better understand and simplify what you must prove in order to establish certain
properties.
 You are likely to have a induction proof on the exam.
 An understanding of advantages and disadvantages of ratio test and power test. In
particular, might have short-answer questions on this.
 Chapter 1A: PRAM Model and Algorithms
 The PRAM model is basis of PRAMs algorithms and its definition, concepts, and
properties may be tested. (E.g., EREW, CREW, etc.)
 Be aware of the different types of CW.
 Understanding of PRAM examples and algorithms may be tested.
 Understanding of PRAM algorithms and their running time may be tested – perhaps by
short questions or alternately by their execution on simple data sets.
 Understanding the comparative power of different PRAMs – e.g., EREW, CREW, etc. (if
covered in slides).
 What is the point of Brent’s Theorem?
 Chapter Two: Basic Data Structures
 Various examples involving amortized analysis. How many cyber dollars has to be
charged in particular cases and why that amount, how much is storage space expanded,
etc.
 General understanding of how stacks, queues, etc be implemented on arrays and on
singly & doubly linked lists. However, low emphasis on identifying all of the different
ADT types for stacks, queues, vectors, etc. and which specific methods must be
supported for each.
 Tree terminology, different traversals and their uses. Properties of binary trees.
 Print arithmetic expressions represented in trees
 Data structure for binary trees.
 Total order relation
 Sorting with a priority queue
 Various sorts and in-place sorts
 Material on heaps and priority queues including material on heap-sort.
 Binary search tree.
 Chapter 3
 Binary search trees material including binary search, insertion, deletion,
 (2,4) trees and multi-way search trees
 Basic aspects of red-black trees such as conversion of (2,4) to Red-Black trees, definition
of read-black tree, height.
 Skip more detailed material on Red-Black trees such as insertion and deletion related
material.
 Understand reasons that above trees are useful.
 Chapter 4
 Most of the material in this chapter is reasonably important. Of course, some of it is
more important than other parts.
Download