Consider the PriorityQueue class in the answer box below, complete the percolate_down (self, index) method. The method takes an integer as a parameter. This method should keep comparing the element at the parameter index and swapping it with its smallest child if the heap property is violated. Note: • submit the entire class definition. Keep a copy of your solution to this task because you will be extending it step by step in subsequent tasks. • You can assume that the parameter index is within the valid range. • The elements are NOT in heap order property in this question for testing purpose. For example: Test Result print (pq2) [0, 2, 7, 26, 25, 19, 17, 1, 90, 3, 36] pq2.percolate_down (5) [0, 2, 7, 26, 25, 19, 17, 1, 90, 3, 36] print (pq2) [0, 2, 7, 26, 3, 19, 17, 1, 90, 25, 36] pq2.percolate_down (4) [0, 2, 7, 1, 3, 19, 17, 26, 90, 25, 36] print (pq2) [0, 2, 3, 1, 7, 19, 17, 26, 90, 25, 36] pq2.percolate_down (3) [0, 1, 3, 2, 7, 19, 17, 26, 90, 25, 36] print (pq2) pq2.percolate_down (2) print (pq2) pq2.percolate_down (1) print (pq2)

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter18: Stacks And Queues
Section: Chapter Questions
Problem 16PE: The implementation of a queue in an array, as given in this chapter, uses the variable count to...
icon
Related questions
Question

+_

Consider the PriorityQueue class in the answer box below, complete the percolate_down (self, index) method.
The method takes an integer as a parameter. This method should keep comparing the element at the parameter index
and swapping it with its smallest child if the heap property is violated.
Note:
• submit the entire class definition. Keep a copy of your solution to this task because you will be extending it step by
step in subsequent tasks.
• You can assume that the parameter index is within the valid range.
• The elements are NOT in heap order property in this question for testing purpose.
For example:
Test
Result
[0, 2, 7, 26, 25, 19, 17, 1, 90, 3, 36]
26, 25, 19, 17, 1, 90, 3, 36]
[0, 2, 7, 26, 3, 19, 17, 1, 90, 25, 36]
[0, 2, 7, 1, 3, 19, 17, 26, 90, 25, 36]
[0, 2, 3, 1, 7, 19, 17, 26, 90, 25, 36]
[0, 1, 3, 2, 7, 19, 17, 26, 90, 25, 36]
print (pq2)
pq2.percolate_down (5) [0, 2, 7,
print (pq2)
pq2.percolate_down (4)
print (pq2)
pq2.percolate_down (3)
print (pq2)
pq2.percolate_down (2)
print (pq2)
pq2.percolate_down (1)
print (pq2)
Transcribed Image Text:Consider the PriorityQueue class in the answer box below, complete the percolate_down (self, index) method. The method takes an integer as a parameter. This method should keep comparing the element at the parameter index and swapping it with its smallest child if the heap property is violated. Note: • submit the entire class definition. Keep a copy of your solution to this task because you will be extending it step by step in subsequent tasks. • You can assume that the parameter index is within the valid range. • The elements are NOT in heap order property in this question for testing purpose. For example: Test Result [0, 2, 7, 26, 25, 19, 17, 1, 90, 3, 36] 26, 25, 19, 17, 1, 90, 3, 36] [0, 2, 7, 26, 3, 19, 17, 1, 90, 25, 36] [0, 2, 7, 1, 3, 19, 17, 26, 90, 25, 36] [0, 2, 3, 1, 7, 19, 17, 26, 90, 25, 36] [0, 1, 3, 2, 7, 19, 17, 26, 90, 25, 36] print (pq2) pq2.percolate_down (5) [0, 2, 7, print (pq2) pq2.percolate_down (4) print (pq2) pq2.percolate_down (3) print (pq2) pq2.percolate_down (2) print (pq2) pq2.percolate_down (1) print (pq2)
Expert Solution
steps

Step by step

Solved in 4 steps with 3 images

Blurred answer
Knowledge Booster
Mergesort
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
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning