queue2 『Java』 Priority Queue 우선순위 큐 일반적인 큐(Queue)는 먼저 들어간 데이터가 먼저 나오는 FIFO(First In First Out) 구조다. 반면에 우선순위 큐(Priority Queue)는 들어가는 순서와 상관없이 우선순위가 높은 데이터가 먼저 나오는 자료구조다. 우선순위 큐 내부의 엘리먼트들은 새로운 요소가 추가되거나 기존 요소가 제거될 때마다 정렬된다. 우선순위 큐는 힙(Heap) 자료구조를 통해 구현되며 다른 자료구조를 통해서도 구현될 수 있다. 선언 방법Java에서 PriorityQueue는 기본적으로 최소 힙(min-heap) 구조로 작은 숫자가 먼저 나오도록 설계되어 있다. 높은 숫자(큰 숫자)가 먼저 나오도록 하려면 Collections.reverseOrder()를 사용하여 최대 힙(max-heap).. 2024. 12. 2. 『Java』 Map, Stack, Queue, Deque Map Map은 키-값의 쌍을 저장하는 자료 구조다. 키는 맵 내에서 유일해야 한다. 그리고 키를 통해 값을 빠르게 검색할 수 있다. 키는 중복될 수 없지만, 값은 중복될 수 있다. Map은 순서를 유지하지 않는다. 자바는 HashMap, TreeMap, LinkedHashMap 등 다양한 Map 구현체를 제공한다.이들은 Map 인터페이스의 메서드를 구현하며 각기 다른 특성을 가지고 있다. HashMap구조해시를 사용해서 요소를 지정한다. Key 값은 해시 함수를 통해 해시 코드로 변환되고 해시 코드는 데이터를 저장하고 검색하는 데 사용된다. 특징삽입, 삭제, 검색 작업은 해시 자료 구조를 사용하므로 일반적으로 상수 시간 O(1)의 복잡도를 가진다. 순서순서를 보장하지 않는다. LinkedHashMa.. 2024. 11. 28. 이전 1 다음