Computer >> 컴퓨터 >  >> 프로그램 작성 >> 프로그램 작성

페어링 힙의 변형

<시간/>

페어링 힙은 빈 힙이거나 루트 요소와 비어 있는 페어링 트리 목록을 포함하는 페어링 트리일 수 있습니다.

힙 순서 지정 속성은 노드의 부모가 노드 자체보다 크지 않아야 합니다.

다음 설명은 키 감소 작업을 지원하지 않는 순수하게 기능적인 힙을 고려합니다.

유형 PairingTree[Element] =Heap(요소:요소, 하위 힙:목록[PairingTree[Element]])

유형 PairingHeap[요소] =비어 있음 | PairingTree[요소]

페어링 힙은 최소 페어링 힙과 최대 페어링 힙의 두 가지 유형으로 존재합니다. 최소 페어링 힙은 최소 우선순위 큐를 표현하고자 할 때 구현되고 최대 페어링 힙은 최대 우선순위 큐에 대해 구현됩니다. 텍스트에서 힙 및 좌파 트리에 대한 논의에 따라 여기에서 최대 페어링 힙에 대해 명시적으로 논의합니다. 최소 페어링 힙은 유사할 수 있습니다.

최대 페어링 힙은 단순히 최대 트리로 정의됩니다.

4개의 최대 페어링 힙이 아래에 나와 있습니다. 페어링 힙이 바이너리 트리일 필요는 없습니다.

페어링 힙의 변형