Summary: I/O-algorithms Spring 2006Project 2 -- I/O-efficient heap and heap-sort
The goal of this project is to implement and experiment with an I/O-efficient heap and with ex-
ternal heap-sort. The project should be done in the same groups as project 1. As project 1, it
should be programmed in C or C++. The project is intentionally left somewhat open, and an im-
portant part of the project is to write a report that describes your implementation (including your
implementation/design choices) and experimental work; The report (including a pointer to the im-
plementation) should be handed in by Friday April 21, 2006. The evaluation of the implementation,
experimentation and the report will be part of the final grade.
As in project 1, you should use the Heap, Heapsort and Quicksort code from the Sedgewick
1. Implement the I/O-efficient heap described in the paper by Fadel et al. . You do not have
to follow their description exactly, as long as the I/O-complexity of the insert and deletemax
operations remain O( 1
B ) amortized. Try to make your implementation as practically
efficient as possible.
Implement the I/O-specific part of the data structure (particularly partial merge) in at least
three different ways (similar to project 1):