Big Java Late Objects
Big Java Late Objects
2nd Edition
ISBN: 9781119330455
Author: Horstmann
Publisher: WILEY
Question
Book Icon
Chapter 18, Problem 13PE
Program Plan Intro

Find the minimum in a Heap

Program plan:

Filename: “MinHeap.java”

This code snippet creates a class “MinHeap”. In the code,

  • Import the required packages.
  • Define a class “MinHeap”.
    • Create an array list “elements”.
    • Define the constructor “MinHeap()”.
      • Define the array list “elements”.
      • Initialize “elements” with “null”.
    • Define a method “add()”.
      • Add a new leaf using “add()”.
      • Declare a variable “index” and set the value to it.
      • Iterate a “while” loop,
        • Set elements to “elements” using method “set()”.
        • Get the parent index of “index”.
          • Set the “newElement” to “index” using “set()”.
    • Define a method “peak()” of type “E”.
      • Get the first element of “elements” and return the value.
    • Define a method “remove()”.
      • Get the first element of “elements” to “minimum”.
      • Define the “lastIndex”.
      • Get the element at “lastIndex” to “last”.
      • If “lastIndex” is greater than 1,
        • Add element “last” at index 1.
        • Call the method “fixHeap()”.
          • Return “minimum”.
    • Define a method “fixHeap()”,
      • Get the first element to “root”.
      • Define the variable “lastIndext” by setting last index of “elements”.
      • Set “index” equal to 1.
      • Declare a Boolean variable “true”.
      • Iterate a “while” loop,
        • Call the method “getLeftChildIndex()” on “index” and set the value to “childIndex”.
        • If “childIndex” is less than or equal to “lastIndex”,
          • Call “getIndexChild()” of “index” to “child”.
          • If the condition is true,
            • Call “getRightChildIndex()” on “index” and set the result value to “childIndex”.
            • Call the method “getRightChild()” on “index” and set the value to “child”.
          • If the condition is true,
            • Set “child” at “index”.
            • Set “childIndex” to “index”.
          • Else,
            • Set “false” to “more”.
        • Else,
          • Set “false” to “more”.
              • Set “root” to “index” using “set”.
    • Define a method “empty()”,
      • Return “true” if “size” of “element” equal to 1,
    • Define the method “getLeftChildIndex()”,
      • Return the index.
    • Define the method “getRightChildIndex()”,
      • Return the index.
    • Define the method “getParentIndex()”,
      • Return the index.
    • Define the method “getLeftChild()”,
      • Return the element.
    • Define the method “getRightChild()”,
      • Return the element.
    • Define the method “getParent()”,
      • Return the element.

Filename: “MinHeapTester.java”

This code snippet creates a class “MinHeapTester”. In the code,

  • Import the required packages.
  • Define a class “MinHeapTester”.
    • Define the “main” method.
      • Declare a “MinHeap” named “heap”.
      • Add elements to “heap” using “add()” method.
      • Remove an element from “heap” and store it in a string variable “top”.
      • Print the value of “top”.
      • Print the expected value of “top”.
      • Remove an element from “heap” and store it in a string variable “top”.
      • Print the value of “top”.
      • Print the expected value of “top”.
      • Remove an element from “heap” and store it in a string variable “top”.
      • Print the value of “top”.
      • Print the expected value of “top”.

Blurred answer
Knowledge Booster
Background pattern image
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education