(self)
| 103 | return self.heap[0] |
| 104 | |
| 105 | def remove(self): |
| 106 | self.heap[0], self.heap[-1] = self.heap[-1], self.heap[0] |
| 107 | self.idx_of_element[self.heap[0]], self.idx_of_element[self.heap[-1]] = ( |
| 108 | self.idx_of_element[self.heap[-1]], |
| 109 | self.idx_of_element[self.heap[0]], |
| 110 | ) |
| 111 | |
| 112 | x = self.heap.pop() |
| 113 | del self.idx_of_element[x] |
| 114 | self.sift_down(0, self.heap) |
| 115 | return x |
| 116 | |
| 117 | def insert(self, node): |
| 118 | self.heap.append(node) |