CS 3050
Spring 2007
Study Guide for Quiz 4

The quiz will cover chapters 8, 9 and definition and motivation for B+ Trees. As part of your review process, I recommend you study:

Chapter 8: Cosequential Processing and the Sorting of Large Files  (Sections 8.1, 8.3, 8.5)
  1. Know what cosequential processing is and why we do it.
  2. Know the algorithms, assumptions and issues involved in matching or merging two lists.
  3. Know how the merge algorithm can be extended to k lists; understand the implementation trade-offs between find and move and the "big O" time analysis we did in class.
  4. Know the algorithm to efficiently sort files too large to fit into memory using merge.
  5. Understand the analysis of the algorithm to efficiently sort large files using merge: where the bottlenecks are and what might be done to avoid them.
  6. Understand how varying ther parameters may affect the algorithm to efficiently sort large files using merge.

Chapter 9: Multilevel Indexing and B-Trees

    1. Know the statement of the problem we are trying to solve and what our goals are.

    2. Before arriving at B-Trees we tried four methods to solve our problem: know what they were, why we tried them and why they failed.
    3. Know the formal definition of a B-Tree
    4. Know the formula for worst-case depth of a B-Tree, how to drive it and how to use it
    5. Know the algorithms for find leaf, insert, and delete in a B-Tree.

    6. Understand the modifications to B-Trees that we discussed: what issues they address and how well they work.

B+ Trees
  1. Know what B+ Trees are and the motivation for using them.