Deque | Stack(LILO) | Queue(FIFO) | |
작업 시행 위치 | 양방향에서 작업 가능 | (Top) | (rear) <---------> (front) |
넣기 | Add | push | (rear에서) add |
조회 | Get | peek | (front에서) peek |
빼기 | Remove | pop | (front에서) poll(삭제 및 확인) |
이용 | DFS / 백트래킹 | BFS |
*Priority Queue
들어간 순서와 상관 없이, 우선순위가 높은 데이터가 먼저 나오는 구조
우선순위 셋업에 따라 front에 항상 Min or Max가 위치
heap(트리 종류)을 이용해 주로 구현
/
/
queue.size() 로 확인
아래처럼 container를 거치지 않고 바로 활용 가능
Queue<Integer> queue = new LinkedList<>();
for (int i = 0; i <= N; i++) {
queue.add(i);
}
while (queue.size() > 1) {
queue.poll();
queue.add(queue.poll());
}
System.out.println(queue.poll());
'코테 기초' 카테고리의 다른 글
숫자 타입의 경우, value를 바로 사용하거나, 추가 변수에서 그 value에 부합하면 check하는 경우 (0) | 2022.12.06 |
---|---|
DFS와 stack 등에서 인식 공간 (0) | 2022.12.06 |
BufferedWriter (0) | 2022.12.06 |
NumberformatException (0) | 2022.12.06 |
static 사용 (0) | 2022.12.06 |