본문 바로가기

자바 큐2

[ JAVA ] Priority Queue ( 우선순위 큐 ) 총 정리 일반적인 자료구조의 큐는 FIFO ( First In First Out ) 선입선출 의 구조를 가지고 있습니다. 그러나 기존의 큐와는 다르게 우선순위 큐는 먼저 들어온 순서대로 나가는 것이 아니라 우선순위가 높은 엘리먼트가 먼저 나가는 구조를 가지고 있습니다. 기본적으로 힙 구조를 이용하여 구현하며 우선순위에 따라 최소 힙 / 최대 힙 으로 구현합니다. 내부 요소들은 힙 구조로 이진트리로 구성되어 있습니다. 삽입 시 -> 마지막 노드에 삽입 후 부모 노드와 비교하며 Swap 삭제 시 -> 우선순위가 가장 높은 루트 노드를 삭제 후 마지막 노드를 루트 노드에 올린 후 자식 노드들과 비교하며 Swap PriorityQueue 자료구조를 사용하기 전 import java.util.* 필수! import jav.. 2021. 2. 5.
[ JAVA ] Queue 총 정리 자료구조의 스택과 항상 비교되는 형태로 FIFO ( First In First Out ) 선입선출의 특징을 가지고 있습니다. BFS ( 그래프 넓이 우선 탐색 ) 에서 사용 JAVA에서 Queue 자료구조를 사용하기 위해서는 import java.util.* 필수! import java.util.*; Queue 선언 Queue queue = new LinkedList(); // linkedlist를 이용하여 int형 queue 선언 // 물론 다른 타입의 queue도 선언 가능 Queue에 값 삽입 Queue queue = new LinkedList(); queue.add(1); // queue에 값 1 추가 queue.offer(3); // queue에 값 3 추가 // add와 offer를 사용하여 .. 2021. 1. 31.