최대 힙에서의 삭제 연산은 제일 큰 값인 루트 노드 삭제 연산만 존재한다. 방법은 다음과 같다. 위와 같은 트리가 있을 때 루트 노드 20을 삭제한다고 가정하면 트리의 가장 마지막 노드인 4를 루트 노드와 맞바꾼다. 4의 자식 노드인 6과 12를 비교했을 때 더 큰 값을 가지는 쪽과 맞바꾼다. 그럼 최대힙의 성질을 만족 할 수 있다. 이러한 삭제 연산 또한 삽입 연산의 시간복잡도와 같은 O(logn)이다. 이를 구현한 코드는 다음과 같다. class MaxHeap: def __init__(self): self.data = [None] def remove(self): if len(self.data) > 1: self.data[1], self.data[-1] = self.data[-1], self.data[..