Stack
Stack이란, 한쪽 끝에서만 데이터의 삽입, 삭제가 이루어지는 자료구조다.
- 가장 마지막에 삽입된 항목이 맨 먼저 삭제된다. -> Last In First Out(LIFO)
- push: Stack에 데이터를 넣는 연산
- pop: Stack에 데이터를 꺼내는 연산
- peek: Stack에 데이터를 들여다 보는 연산
출처: Stack
Stack 구현
1. class를 이용한 Stack 구현(ES6)
1 | // ES6 |
2. 생성자 함수를 이용한 Stack 구현(ES5)
1 | // ES5 |
Queue
Queue란, 데이터의 삽입이 한쪽 끝(뒤, rear)에서 이루어지고, 삭제는 다른 쪽(앞, front)에서 이루어지는 자료구조다.
- 가장 처음 삽입된 항목이 맨 먼저 삭제된다. -> First In First Out(FIFO)
- enqueue: Queue에 데이터를 넣는 연산
- dequeue: Queue에 데이터를 꺼내는 연산
출처: Queue
Queue 구현(2개의 Stack으로 Queue 구현)
1. class를 이용한 Queue 구현(ES6)
1 | // Stack |
2. 생성자 함수를 이용한 Queue 구현(ES5)
1 | // Stack |
Deque
Deque란, 데이터의 삽입과 삭제를 앞, 뒤 양쪽에서 이루어지는 자료구조다.
출처: Deque