Java Code JDK 11 Please Turn my min-heap into a max -heap. Thank you! public MinHeap(ArrayList data) {         // Initialize the backing array         backingArray = (T[]) new Comparable[2 * data.size() + 1];         // Copy the data to the backing array         int i = 1;         for (T value : data)             backingArray[i++] = value;         size = data.size();         // Heapify the backing array         for (int parentIndex = size / 2; parentIndex >= 1; parentIndex--)             heapify(parentIndex);     }     /**      * A recursive helper method that will heapify the backing array so that      * it will become a min heap.      *      * @param parentIndex Parent index being processed      */     private void heapify(int parentIndex) {         // Stop if we end up in an empty slot         if (backingArray[parentIndex] == null)             return;         int leftChildIndex = parentIndex * 2;         int rightChildIndex = parentIndex * 2 + 1;         // Find which is smaller between the parent and any of its 2 children         int smallerIndex = parentIndex;         if (leftChildIndex <= size && backingArray[leftChildIndex].compareTo(backingArray[smallerIndex]) < 0)             smallerIndex = leftChildIndex;         if (rightChildIndex <= size && backingArray[rightChildIndex].compareTo(backingArray[smallerIndex]) < 0)             smallerIndex = rightChildIndex;         // Swap the smaller value to the parent if there is smaller than the parent         if (smallerIndex != parentIndex) {             T value = backingArray[parentIndex];             backingArray[parentIndex] = backingArray[smallerIndex];             backingArray[smallerIndex] = value;             // Since there's a new parent, repeat the process on that parent             heapify(smallerIndex);         }     }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Java Code JDK 11
Please Turn my min-heap into a max -heap. Thank you!

public MinHeap(ArrayList<T> data) {
        // Initialize the backing array
        backingArray = (T[]) new Comparable[2 * data.size() + 1];

        // Copy the data to the backing array
        int i = 1;
        for (T value : data)
            backingArray[i++] = value;

        size = data.size();

        // Heapify the backing array
        for (int parentIndex = size / 2; parentIndex >= 1; parentIndex--)
            heapify(parentIndex);
    }

    /**
     * A recursive helper method that will heapify the backing array so that
     * it will become a min heap.
     *
     * @param parentIndex Parent index being processed
     */
    private void heapify(int parentIndex) {
        // Stop if we end up in an empty slot
        if (backingArray[parentIndex] == null)
            return;

        int leftChildIndex = parentIndex * 2;
        int rightChildIndex = parentIndex * 2 + 1;

        // Find which is smaller between the parent and any of its 2 children
        int smallerIndex = parentIndex;

        if (leftChildIndex <= size && backingArray[leftChildIndex].compareTo(backingArray[smallerIndex]) < 0)
            smallerIndex = leftChildIndex;

        if (rightChildIndex <= size && backingArray[rightChildIndex].compareTo(backingArray[smallerIndex]) < 0)
            smallerIndex = rightChildIndex;

        // Swap the smaller value to the parent if there is smaller than the parent
        if (smallerIndex != parentIndex) {
            T value = backingArray[parentIndex];
            backingArray[parentIndex] = backingArray[smallerIndex];
            backingArray[smallerIndex] = value;

            // Since there's a new parent, repeat the process on that parent
            heapify(smallerIndex);
        }
    }

Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Stack
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education