rampatra/Algorithms-and-Data-Structures-in-Java

Some doubt in BuildMaxHeap

krishnaexplore opened this issue · 1 comments

seems not working BuildHeap

https://github.com/ramswaroop/Algorithms-and-Data-Structures-in-Java/blob/master/src/me/ramswaroop/common/MaxHeap.java#L49:L50
if we do some change here it is working
leftIndex = 2 * i ;
rightIndex = 2 * i + 1;

for input {5,12,64,1,37,90,91,97};
output should be : [97, 91, 90, 12, 37, 64, 5, 1]

The output from the code buildMaxHeap() is [97, 37, 91, 12, 5, 90, 64, 1] is correct as per my understanding. What makes you think otherwise?

Note: Max heap is a heap with root greater than or equal to left and right children (except for leaf nodes) and this property is satisfied in the output [97, 37, 91, 12, 5, 90, 64, 1].