본 내용은 노마드 코더님의 강의를 토대로 작성하였습니다.
1. Queues & Stacks
- 실제로 프로그래밍 언어에서 존재하는 것은 아님
- 일종의 규칙
- Abstract Data Type(ADT)
- 추상적 자료구조
- 자료구조의 방법이 코드로 정의 된 것이 아니라, 그 구조의 행동 양식만 정의된 것을 뜻함
- Queues와 Stacks은 Array에 어떠한 규칙을 설정한 것
2. Stacks
- 팬케이크를 차곡 차곡 쌓은 것을 생각하기
- Array가 수직으로 쌓인 것
- 요소를 추가, 삭제하는 것이 맨 위에서부터 차례로 할 수 있음
- LiFo
- Last In, First Out
Stacks의 예시
- 웹 브라우저의 뒤로가기를 눌렀을 때
- 이전의 페이지들은 스택처럼 쌓여 있음
- 문서 입력 중에 되돌리기 기능을 사용할 때
3. Queues
- 줄 서는 것을 생각하기
- 맨 앞에 있는 사람이 가장 먼저 버스를 탐
- 가장 뒤에 있는 사람이 가장 마지막에 버스를 탐
- 새로운 요소는 Queue의 맨 뒤에 추가
- Queue의 맨 앞에 있는 요소만 읽거나 삭제 가능
- FiFo
- First In, First Out
Queues의 예시
- 이메일 전달
- 푸쉬 알림 기능
- 쇼핑몰에서 주문을 처리하는 방식
- 콜센터의 백엔드
Reference
'programming study > Computer Science' 카테고리의 다른 글
자료구조와 알고리즘 - 배열 (0) | 2022.09.10 |
---|---|
자료구조와 알고리즘 - 자료구조와 알고리즘이란, 자료구조의 종류, 시간 복잡도 (0) | 2022.09.09 |
Hash Table (0) | 2021.11.25 |
Caching(캐싱) (0) | 2021.08.03 |
상태 패턴 (0) | 2021.08.02 |