인프런 커뮤니티 질문&답변
75번, 79번 priority_queue관련
작성
·
343
1
안녕하세요
75번의 연산자 오버로딩
bool operator<(const Data &b)const{
return when>b.when;
}
로 써서 오름차순으로 만들어 맨 위에꺼를 pop했을때 제일 큰 숫자인 3이 나왔습니다.
하지만 79번의 연산자 오버로딩
bool operator<(const Edge &b)const{
return val>b.val;
}
를 진행 할때는 최소 힙으로 구현이 된다고 하셨고 pop했을때 비용이 가장 적게드는 녀석이 나온다고 했습니다. 어떤게 맞는것인지 이해가 잘 가지않습니다.
답변 1
1
김태원
지식공유자
안녕하세요^^
75번의 operator는 정렬의 기준(내림차순, 오름차순)을 정하는 것이고
79번의 operator는 최소힙 또는 최대힙을 만들건지를 정하는 오퍼레이터 입니다. 서로 다른 용도입니다.





