
DsPriorityQueue::pop 함수는 우선순위 큐에서 최소값을 제거하는 함수입니다.
1. 우선순위 큐 내부의 노드가 이동되는 과정은 다음과 같습니다.
- 우선순위 큐 내부의 노드가 힙 구조를 유지하기 위해 정렬되어 있습니다.
- pop 함수가 호출될 때, 최소값을 가진 노드가 삭제됩니다.
- 삭제된 노드의 자리를 채우기 위해, 힙의 마지막 노드가 삭제된 노드의 자리로 이동됩니다.
- 이동된 노드의 자리를 채우기 위해, 힙의 마지막 노드의 자리에 있는 노드가 이동됩니다.
- 이 과정을 반복하여, 힙 구조를 유지하는 동안 노드가 삭제됩니다.
2. 노드가 삭제된 후 우선순위 큐의 상태가 어떻게 변하는지 알려드리겠습니다.
- 노드가 삭제된 후, 우선순위 큐의 크기가 줄어듭니다.
- 삭제된 노드의 자리는 힙의 마지막 노드가 채우고, 힙의 마지막 노드의 자리는 다시 채워지며, 힙 구조를 유지합니다.
- 우선순위 큐의 최소값은 삭제된 노드의 자리에 있는 노드가 새로운 최소값이 됩니다.
- 힙 구조를 유지하기 위해, 노드가 재배치됩니다.
2025-07-11 15:53