Sort the sequence 3, 1, 4, 1, 5, 9, 2, 6, 5 using insertion sort
Read moreTextbook Solutions for Data Structures and Algorithm Analysis in Java
Question
Consider the following strategy for percolateDown. We have a hole at node X. Thenormal routine is to compare Xs children and then move the child up to X if it islarger (in the case of a (max)heap) than the element we are trying to place, therebypushing the hole down; we stop when it is safe to place the new element in thehole. The alternative strategy is to move elements up and the hole down as far aspossible, without testing whether the new cell can be inserted. This would place he new cell in a leaf and probably violate the heap order; to fix the heap order,percolate the new cell up in the normal manner. Write a routine to include thisidea, and compare the running time with a standard implementation of heapsort.
Solution
The first step in solving 7 problem number 56 trying to solve the problem we have to refer to the textbook question: Consider the following strategy for percolateDown. We have a hole at node X. Thenormal routine is to compare Xs children and then move the child up to X if it islarger (in the case of a (max)heap) than the element we are trying to place, therebypushing the hole down; we stop when it is safe to place the new element in thehole. The alternative strategy is to move elements up and the hole down as far aspossible, without testing whether the new cell can be inserted. This would place he new cell in a leaf and probably violate the heap order; to fix the heap order,percolate the new cell up in the normal manner. Write a routine to include thisidea, and compare the running time with a standard implementation of heapsort.
From the textbook chapter Sorting you will find a few key concepts needed to solve this.
Visible to paid subscribers only
Step 3 of 7)Visible to paid subscribers only
full solution