728x90
반응형
queue란
- 사전적 으로는 무엇을 기다리는 사람, 자동차 등의 라는 뜻
- FIFO구조 (First In First Out, 선입선출)
- 그래프의 넓이 우선탐색(BFS)에서 사용한다.
- 컴퓨터 버퍼에서, 마구 입력되었으나 처리하지못할때 큐를 만들어 대기 시킨다.
Enqueue : 큐 맨 뒤에 데이터 추가
Dequeue : 큐 맨 앞쪽의 데이터 삭제
라고 한다.
사용법
import java.util.LinkedList; //import
import java.util.Queue; //import
Queue<String> queue = new LinkedList<>(); // 선언
queue.add("data1"); //"data1"을 큐에 추가한다. -> 큐가 꽉차는 상황에서 예외발생시킴
queue.offer("data2"); //"data2"을 큐에 추가한다. -> 사이즈제약이 있는경우 false반환
queue.peek(); //첫번째 있는 값을 확인한다. -> 큐가 비어있으면 null리턴
queue.element(); //첫번째 있는 값을 확인한다. -> 큐가 비어있으면 예외발생
queue.poll(); //첫번째 값을 반환하고 큐에서 제거한다. 큐가 비어있다면 null
queue.remove(); //첫번째 값을 제거한다.
queue.clear(); //큐값을 초기화 한다.
덱이란
- stack+Queue
- 데이터의 추출과 삭제를 앞, 뒤로 다 할수 있다.
사용법
Deque<Integer> dque= new ArrayDeque<Integer>(); // 클래스 정의
dq.offer(1); //데이터 저장.
dq.offerFirst(1); //앞으로 삽입(큐와 반대)
dq.offerLast(1); // 뒤로 삽입
dq.poll(); //데이터 추출
dq.pollFirst(); //앞에꺼 추출, 비어있으면 null리턴
dq.pollLast(); //뒤에꺼 추출(큐와 반대), 비어있으면 null리턴
dq.peek() //데이터 추출, 똑같이 first, Last 사용가능
dq.get() //데이터 추출, peek()랑 똑같음
https://coding-factory.tistory.com/602
728x90
반응형
'알고리즘 > 개념' 카테고리의 다른 글
[stack] 스택의 기본 개념과 사용법을 알아보자. (0) | 2022.01.12 |
---|---|
[알고리즘] 02 기본 자료구조 (0) | 2021.11.26 |
[알고리즘] 01 기본알고리즘 (0) | 2021.11.26 |
댓글