나는 힙을 포함하는 숙제를하고 있는데, 어떻게 구성되어 있는지 이해하고 있습니다. 힙이 힙 특성을 만족하는 각 노드에 있어야 힙 데이터 구조의 용도는 무엇입니까?
최대 힙 특성임을 각 노드 나 다른 그 루트 힙 [지배 (I)]> = 힙 [I]
각 노드에서 높은 노드는 높은 숫자를 가지며 낮은 노드는 낮은 숫자를 갖습니다. 나는 이것을 이해한다. 그러나 목록에서 가장 높은 n 개의 숫자를 얻는 것 이외에 힙을 사용하는 것을 볼 수는 없습니다. 특정 값을 검색하여 노드를 반환하거나 n 개의 가장 낮은 숫자 (최대 힙)를 검색하는 쉬운 방법은 없습니다. 이진 검색 트리에서는 두 가지 방법 모두 비교적 쉽습니다.
왜 간단한 이진 검색 트리를 사용하지 않습니까? 아니면 더 나은, 균형 이진 검색 트리?
편집 : 숙제 문제에 대한 답변을 찾는 것이 아닙니다. 실제 숙제 문제는 insert() 및 extractMax() 함수에 대한 병렬 -p 힙에 의사 코드를 작성하는 것이 었습니다. 그리고 나는 이미 그들에게 대답했다. 그들은 단지 내가 힙을 정말로 이해하지 못한다는 것을 깨닫게했다.
가능한 중복 (HTTP : // 유래.com/questions/749199/when-would-i-want-to-use-a-heap) –
@Jeremiah, 나는 그 대답을 찾았지만 그 중 하나를 놓쳤다. 그리고 옙, 나는 마치 멍청이처럼 보입니다. 내 질문을 닫아야합니까? –
필요 없음. 그것은 우리에 의해 폐쇄 될 것입니다,하지만 dups는 일반적으로 좋은 일로 여겨집니다. 같은 질문을하는 방법은 여러 가지가 있기 때문입니다. –