python program
python program
"))):
def __init__(self, maxsize): heap.insert(int(input("Enter element: ")))
self.maxsize, self.size, self.Heap = maxsize, 0, [0] # Dummy index 0 heap.print_heap()
def parent(self, pos): return pos // 2 elif ch == "delete":
def leftChild(self, pos): return 2 * pos print(f"Removed: {heap.remove() if not heap.is_empty() else 'Heap is empty'}")
def rightChild(self, pos): return (2 * pos) + 1 heap.print_heap()
def isLeaf(self, pos): return pos * 2 > self.size elif ch == "e":
def swap(self, fpos, spos): self.Heap[fpos], self.Heap[spos] = self.Heap[spos], break
self.Heap[fpos] else:
def is_empty(self): return self.size == 0 print("Invalid choice!")
HEIGHT AND DEPTH OF A NODE IN TREE
def minHeapify(self, pos): class Node:
if not self.isLeaf(pos): def __init__(self, data):
left, right = self.leftChild(pos), self.rightChild(pos) self.left = self.right = None
smallest = left if left <= self.size and self.Heap[left] < self.Heap[pos] else pos self.data = data
if right <= self.size and self.Heap[right] < self.Heap[smallest]: smallest = right
if smallest != pos: class Tree:
self.swap(pos, smallest) def __init__(self, root):
self.minHeapify(smallest) self.root = Node(root)