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:
- Notes from class
- Reread book chapters
- Homework assignments
- Lab assignments
Chapter 8: Cosequential Processing and the
Sorting of Large Files (Sections 8.1, 8.3, 8.5)
- Know what cosequential processing is and why we do it.
- Know the algorithms, assumptions and issues involved in
matching or merging two lists.
- 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.
- Know the algorithm to efficiently sort files too large to
fit into memory using merge.
- 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.
- 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.
- BST
- AVL Trees
- Paged Binary Trees
- Multilevel Indexing
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.
- Be able to work examples using these algorithms.
- Be able to identify the need for, and to state, appropriate
policies to implement these algorithms
6. Understand the modifications to B-Trees that
we discussed: what issues they address and how well they work.
- Redistribution during insertion
- B* Trees
- Virtual B-Trees
- B+ Trees (see below)
B+
Trees
- Know what B+ Trees are and the motivation for using them.