Pairing Heap 설명 해주실 수 있나요?ㅋ

  • leedohyun
    leedohyun

    우연히 저런 게 있다는 걸 알았는데 정확히 어떤 자료구조이고, 어디에 쓰는 건지 알고 싶어요ㅎㅎ

    [이 글은 과거 홈페이지에서 이전된 글입니다. 원문보기]

    14년 전
4개의 댓글이 있습니다.
  • Neon
    Neon

    잘 모르는 자료구조라 wikipedia를 읽어봤는데 여러 개의 heap을 subheap의 형태로 merge하는 자료구조인 것 같습니다. 일반적으로 사용하는 binary heap(STL의 priority_queue)와 거의 동일한 기능을 제공하고, 다만 좀 더 빠르다네요.(아주 빠른 수준은 아닌듯여)
    보통 algospot에서 다루는 competition에 대해 공부하다 보면 짧고 간결한 코드도 중요하기 때문에 STL에서 제공하는 자료구조랑 별로 다른게 없는 것들에는 별 관심이 없는 게 보통입니다. 현재 STL에 없으면서 대회중에 쓰일만한 자료구조라고 해봐야 suffix tree, biginteger, hash_map(set도) 정도밖에 없기 때문에 그 외의 자료구조에 대해서는 충분한 논의가 이루어질 것 같지는 않습니다.


    14년 전 link
  • leedohyun
    leedohyun

    깔끔한 답변 감사 드립니다^^


    14년 전 link
  • Azurespace
    Azurespace

    어, 이거 쓸만할 것도 같은데요? Decrease_key를 빠른 시간 내에 할 수 있다고 되어 있는데, 일반적인 Heap에서 이런 거 구현하려면 상당히 느릴지도 몰라요. 이게 뭐 하는 건지는 모르겠지만(...)


    14년 전 link
  • Azurespace
    Azurespace

    아, 읽어보니 경시 환경에서 쓰일 것 같지는 않군요. 일단 구현이 Heap보다는 복잡할 것 같아요.


    14년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.