[코드트리 조별과제] 정렬을 다루는 자료구조 in Java
·
CodeTree
PQ를 써야하는 순간은 보통 자신이 정한 정렬기준을 통해 지속적으로 정렬상태를 특정 시점마다 유지하고 싶을때 사용한다. 생각해보면 PQ만 정렬을 보장해주는 자료구조가 있는것은 아니다. Java에는 PQ, TreeMap, TreeSet 이 있다. 각각 어떨때 쓰는것이 좋을까? TreeSet의 경우에는 PQ와 거의 동일하다. 오히려 TreeSet은 최대(first) 최소(last)를 관리하기 더 편하며, 특정 값 바로 이상(floor), 초과(higher), 이하(ceiling) 그리고 미만(lower)인 값을 꺼내는데 유용하다. 하지만 TreeSet은 어디까지나 Set을 기반으로 한 OrderedSet이라는것을 잊으면 안된다. 즉, 정렬의 대상이되는 원소에 대한 중복을 허용치 않는다는점이다. 예를들어서 어..