1. Stack에 대한 정리
- First In Last Out(FILO): 처음 들어온 값이 가장 마지막에 나가는 방식의 데이터 구조
- Stack의 Time Complexity
- 값을 가져올 때 : O(n)
- 값을 추가할 때 : O(1)
- 값을 삭제할 때 : O(1)
- 쌓여있는 접시 더미와 같이 작동한다고 생각하면 됨.
- 새로운 접시가 쌓일 때도 맨 위에서 쌓이고, 접시를 가져갈 때도 맨 위에서 가지고 가는 것과 같은 원리임
- Call Stack 도 Stack의 예시라고 할 수 있음
- MDN Call Stack 설명
- GeeksforGeeks Stack 설명
2. Queue에 대한 정리
- First In First Out(FIFO) : 처음 삽입(enqueue)된 항목이 가장 먼저 제거(dequeue) 됨
- Queue의 Time Complexity
- 값을 가져올 때 : O(n)
- 값을 추가할 때 : O(1)
- 값을 삭제할 때 : O(1)
- 놀이공원에서 서는 줄과 같은 작동 원리임
- 사람들이 맨 끝에 줄을 서고, 맨 앞에서부터 놀이기구에 탑승하는 것과 같다고 보면됨
- GeeksforGeeks Queue 설명