Description
Instructions
Complete the implementation of the Min-Heap data structure (you’ll find a partial implementation in the Appendix that you need to complete). After doing this, use your implementation of the data structure to implement heapsort. Test your implementation by doing at least one of the following options:
– Unit Tests
– Reading a file with a list of numbers separated by commas and printing the sorted sequence
– Creating a separate file where you call your heapsort implementation using hard-coded
lists of numbers
Appendix
“`python
class Heap:
def __init__(self):
self.heap_array = []
def insert(self, k):
self.heap_array.append(k)
TODO: Complete implementation
def extract_min(self):
if self.is_empty():
return None
min_elem = self.heap_array.append[0]
TODO: Complete implementation
return min_elem
def is_empty(self):
return len(self.heap_array) == 0
“`
What you need to do
Part 1
Implement the program described above and upload your code to GitHub.
Part 2
Add your team members as collaborators to your GitHub repo. They will add you to their projects as a collaborator as well. Read their code and give them feedback. Use *pull requests* and/or the *Issues* section to do so.
Extra Credit (10 points total)
Solve the following leetcode problems
- https://leetcode.com/problems/ugly-number-ii/description/
- https://leetcode.com/problems/super-ugly-number/description/
- https://leetcode.com/problems/kth-largest-element-in-an-array/description/