잘 모르는 자료구조라 wikipedia를 읽어봤는데 여러 개의 heap을 subheap의 형태로 merge하는 자료구조인 것 같습니다. 일반적으로 사용하는 binary heap(STL의 priority_queue)와 거의 동일한 기능을 제공하고, 다만 좀 더 빠르다네요.(아주 빠른 수준은 아닌듯여)
보통 algospot에서 다루는 competition에 대해 공부하다 보면 짧고 간결한 코드도 중요하기 때문에 STL에서 제공하는 자료구조랑 별로 다른게 없는 것들에는 별 관심이 없는 게 보통입니다. 현재 STL에 없으면서 대회중에 쓰일만한 자료구조라고 해봐야 suffix tree, biginteger, hash_map(set도) 정도밖에 없기 때문에 그 외의 자료구조에 대해서는 충분한 논의가 이루어질 것 같지는 않습니다.
2010.03.15 22:51:11 (*.140.214.106)
leedohyun
깔끔한 답변 감사 드립니다^^
2010.03.25 15:15:56 (*.194.113.163)
Azurespace
어, 이거 쓸만할 것도 같은데요? Decrease_key를 빠른 시간 내에 할 수 있다고 되어 있는데, 일반적인 Heap에서 이런 거 구현하려면 상당히 느릴지도 몰라요. 이게 뭐 하는 건지는 모르겠지만(...)
2010.03.25 15:18:13 (*.194.113.163)
Azurespace
아, 읽어보니 경시 환경에서 쓰일 것 같지는 않군요. 일단 구현이 Heap보다는 복잡할 것 같아요.
잘 모르는 자료구조라 wikipedia를 읽어봤는데 여러 개의 heap을 subheap의 형태로 merge하는 자료구조인 것 같습니다. 일반적으로 사용하는 binary heap(STL의 priority_queue)와 거의 동일한 기능을 제공하고, 다만 좀 더 빠르다네요.(아주 빠른 수준은 아닌듯여)
보통 algospot에서 다루는 competition에 대해 공부하다 보면 짧고 간결한 코드도 중요하기 때문에 STL에서 제공하는 자료구조랑 별로 다른게 없는 것들에는 별 관심이 없는 게 보통입니다. 현재 STL에 없으면서 대회중에 쓰일만한 자료구조라고 해봐야 suffix tree, biginteger, hash_map(set도) 정도밖에 없기 때문에 그 외의 자료구조에 대해서는 충분한 논의가 이루어질 것 같지는 않습니다.