Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

You have been provided a Python file, heap.py , which constructs a min - heap structure with a list. Using that code as a guide:

You have been provided a Python file, heap.py, which constructs a min-heap structure with a list. Using that code as a guide:
Develop a LinkedHeap data structure in a file named LinkedHeap with the extension appropriate to your chosen langauge using a linked tree structure
(Nodes and Pointers).
If using Python, you MUST use and not alter the BinaryNode provided in the lab.
If using another language, you MUST recode an equivalent BinaryNode object.
Regardless of language, the key is that the publicly visible interface is the same and that you must make it so that the element of the
node is immutable, meaning that moving an element in the heap MUST be done by moving the entire node and changing all pointers.
The heap must support the following interface:
insert(key, value)
This method/subroutine inserts the (key, value) pair into the appropriate postion within the min heap.
delete()
This method/subroutine deletes and returns a (key, value) pair with the minimum key value within the heap.
peek()
This method/subroutine returns a (key, value) pair with the minimum key value within the heap without altering the contents of the heap.
You may add any additional private helper methods that you see fit.
All operations most abide by the rules that govern a heap (see lecture slides for reference).
Once you have your heap structure created, next you must use it as a backing structure to a priority queue.
Develop a PriorityQueue data structure in a file named PriorityQueue that is backed by a linked heap.
Implement the normal methods that accompany a priority queue structure:
add(key, value)
This method/subroutine adds the (key, value) pair into the appropriate postion within the min heap.
remove()
This method/subroutine removes and returns a (key, value) pair with the minimum key value within the heap.
min()
This method/subroutine returns a (key, value) pair with the minimum key within the heap but leaves the heap unaltered.
is_empty()
This method/subroutine returns True (or the langauge-specific equivalent) if the heap contains no key/value pairs, False (or the langauge-
specific equivalent) otherwise.
len(pq)(or the langauge-specific equivalent)
This method/subroutine/function call returns the number of (key, value) pairs stored in the heap using the methodology appropriate to
the language in which this structure is implemented.
Perform the following operations to showcase your working priority queue:
Enqueue the following items: 11,7,8,6,5,9,4
Dequeue 3 items by priority, they should be 4,5, & 6.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Optimizing Data Collection In Warzones

Authors: Aaget Aamber

1st Edition

B0CQRRFP5F, 979-8869065902

More Books

Students also viewed these Databases questions

Question

What is a benefi t profi le?

Answered: 1 week ago