queue 2

[자료구조-04] 큐(Queue)

1. 큐(Queue)란? - 스택과 마찬가지로 데이터를 일시적으로 쌓아 두기 위한 자료구조 - 선입선출 구조를 가짐 - 선입선출(FIFO, First In First Out) : 가장 먼저 넣은 데이터를 가장 먼저 꺼냄 - 인큐(enqueue) : 큐에 데이터를 넣는 작업 디큐(dequeue) : 큐에서 데이터를 꺼내는 작업 프런트(front) : 데이터를 꺼내는 쪽 리어(rear) : 데이터를 넣는 쪽 - 예) 은행 창구에서 차례를 기다리는 대기열, 마트에서 계산을 기다리는 대기열 2. 배열로 큐 구현 - 스택과 마찬가지로 배열로 큐를 구현할 수 있음 - 하지만 효율성이 떨어짐 (1) 인큐(enqueue) - 32를 인큐 - 데이터를 넣기만 하면 되기 때문에 복잡도는 O(1) - 적은 비용으로 구현 가..

공부/자료구조 2021.04.20

[Java-11] 컬렉션 프레임웍 - Stack, Queue, Iterator, ListIterator, Enumeration

1. 스택(Stack), 큐(Queue) 1) 스택과 큐의 차이 - 스택은 'LIFO', 큐는 'FIFO'임 - LIFO(Last In First Out) : 마지막에 저장한 데이터를 가장 먼저 꺼내는 구조 - FIFO(First In First Out) : 처음에 저장한 데이터를 가장 먼저 꺼내는 구조 - 스택(LIFO)는 0, 1, 2 순으로 저장(push)한 뒤, 2, 1, 0 순으로 추출(pop) - 큐(FIFO)는 0, 1, 2 순으로 저장(push)한 뒤, 0, 1, 2 순으로 추출(pop) Q. 스택과 큐를 구현하기 위해서는 어떤 컬렉션 클래스를 사용하는 것이 좋을까? A1. 스택은 순차적으로 데이터를 추가 및 삭제하므로 ArrayList와 같은 배열기반의 컬렉션 클래스가 적합함 A2. 큐는..

공부/Java 2021.04.14