Summary: I/O-algorithms Spring 2005Project 3 -- 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 external
heap-sort. The project should be done in the same groups as project 1 and 2. As project 1, it
should be programmed in C or C++ on a Unix system. The project is intentionally left somewhat
open, and an important 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 implementation) should be handed in by Friday June 10, 2005. 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):