[Algorithm] 스택(Stack) ,큐(Queue), 덱(Deque)
이번 포스팅에서는 스택(Stack), 큐(Queue), 덱(Deque) 에 대해서 알아보겠습니다.
스택(Stack)이란?
- 스택(Stack)은 “쌓다”라는 의미로, 데이터를 차곡차곡 쌓아 올린 형태의 자료구조이다.
- 스택은 한쪽 끝에서만 자료를 넣고 뺄 수 있는 자료 구조이다.
-> LIFO(Last In First Out)
- stack에서의 Push, Pop은 시간 복잡도가 O(1)
큐(Queue)란?
- 큐(Queue)는 스택(Stack)과 다르게 한쪽 끝에서만 자료를 넣고 다른 한쪽 끝에서만 뺄 수 있는 자료구조이다. -> FIFO(First In First Out)
덱(Deque)란?
- 덱(Deque)는 양 끝에서만 자료를 넣고 양 끝에서 뺄 수 있는 자료구조이다.
- 스택(Stack)과 큐(Queue)의 연산을 모두 지원한다.