This preview shows pages 1–2. Sign up to view the full content.
TreeStructured Indexing
97
Answer 10.8
Answer omitted.
Exercise 10.9
The algorithms for insertion and deletion into a B+ tree are presented
as recursive algorithms. In the code for
insert
, for instance, a call is made at the
parent of a node
N
to insert into (the subtree rooted at) node
N
, and when this call
returns, the current node is the parent of
N
. Thus, we do not maintain any ‘parent
pointers’ in nodes of B+ tree. Such pointers are not part of the B+ tree structure
for a good reason, as this exercise demonstrates. An alternative approach that uses
parent pointers—again, remember that such pointers are
not
part of the standard B+
tree structure!—in each node appears to be simpler:
Search to the appropriate leaf using the search algorithm; then insert the
entry and split if necessary, with splits propagated to parents if necessary
(using the parent pointers to Fnd the parents).
Consider this (unsatisfactory) alternative approach:
1. Suppose that an internal node
N
is split into nodes
N
and
N
2. What can you
say about the parent pointers in the children of the original node
N
?
2. Suggest two ways of dealing with the inconsistent parent pointers in the children
of node
N
.
3. ±or each of these suggestions, identify a potential (major) disadvantage.
4. What conclusions can you draw from this exercise?
Answer 10.9
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
This is the end of the preview. Sign up
to
access the rest of the document.
 Fall '12
 Dr.Vishak
 Algorithms

Click to edit the document details