Next:6.
Priority QueuesUp:5.7
Programming AssignmentsPrevious:5.7.2
Skip Lists and Binary search Trees
5.7.3 Multiway Search Trees and
B-Trees
The objective of this assignment is to implement insertions and deletions
in multi-way search trees and B-trees, and evaluate their performance.
Three scenarios are considered: insertions alone; deletions alone; and
insertions and deletions interleaved randomly.
-
Scenario 1 - Insertions only:
Generate a random permutation of n numbers, say a1,
a2,..., an. Insert these elements into
an initially empty data structure. This process will result in a multi-way
search tree and a B-tree, each with n nodes. The order of
the tree to be constructed, m, is given as an input. Note that a
binary search tree is a multi-way search tree with m = 2, whereas
a 2-3 tree is a B-tree with m = 3. Also the number of records per
leaf is also to be specified as part of the input. Choose a small number,
say 2 or 3, here.
-
Scenario 2 - Deletions only:
Start with the tree constructed in Scenario 1 and delete the n
elements, one by one, in the following orders:
-
In the order of insertion
-
In the reversed order of insertion
-
In a random order
-
Scenario 3 - Interleaved Insertion and Deletions:
Start with the tree constructed in Scenario 1 and do a series of randomly
interleaved insertions and deletions. Assume that insertions and deletions
are equally likely. Assume that elements currently in the tree and elements
not currently in the tree are generated with equal probabilities.
The performance measures are the following:
-
Average height of the tree. You should compute it for both MST and BT in
all the three scenarios. Also, you should be able to compute the respective
heights at any intermediate stage. It should be possible to break execution
at any desired point and track the probe sequence for a desired operation.
-
Average number of probes required for insertions and deletions. This can
be computed for each type of tree in each of the three scenarios.
Repeat the above experiment for several random sequences to obtain better
and more credible performance estimates. You will get bonus marks if you
implement B*-trees also.
Next:6.
Priority QueuesUp:5.7
Programming AssignmentsPrevious:5.7.2
Skip Lists and Binary search Trees
eEL,CSA_Dept,IISc,Bangalore