C에서 priority queue의 우선순위를 변경하는 함수

oeo0750의 이미지

C에서 priority queue의 임의 원소의 우선순위를 변경할 수 있는 함수를 작성할 수 있을까요? (max-heap에서)
삽입, 삭제, 탐색 함수는 많이 봤는데 우선순위를 변경할 수 있는 함수는 못 본 것 같아서요~

세벌의 이미지

oeo0750의 이미지

보내주신 geeksforgeeks 사이트 보았습니다만 push와 pop 등 읽어봤는데요 ㅎㅎㅎ 혹시 우선순위를 바꾸는 메소드도 있는게 맞나요? 아님 전체적인 플로우 자체가 관련이 있는건지..?

익명 사용자의 이미지

힙에서 삽입, 삭제를 이해하시고 조금 생각해보시면 삽입, 삭제과정이 그대로 변경에도 사용될 수 있다는걸 이해하실 수 있을겁니다.
따라서 간단하게는 그냥 삭제하고 새로 삽입해도 알고리즘 복잡도 측면에서는 똑같습니다.

oeo0750의 이미지

아 제가 힙에 대한 이해가 좀 부족했나보네요 ㅠ