스택 ( Stack) - 후입선출
- 스택은 접시쌓기와 같습니다 꺼낼 때 가장 나중에 쌓은 제일 윗접시를 꺼내는 후입선출 구조입니다
- 데이터를 순서대로 저장하고 관리하는 선형 자료구조이다
- FILO, LIFO - first in last out, last in first out
- 웹브라우저 뒤로가기, 턴제게임 턴 무르기, 상점 되팔기, 트레이서 시간역행, Ctrl + Z 등이 있습니다
주요 메서드
| 메서드 | 설명 |
| Push(T item) | 스택의 맨 위에 항목을 추가합니다. (데이터 삽입) |
| Pop() | 스택의 맨 위에 있는 항목을 제거하고 반환합니다. (데이터 제거 및 반환) |
| Peek() | 스택의 맨 위에 있는 항목을 제거하지 않고 반환합니다. (데이터 확인) |
| Clear() | 스택에서 모든 항목을 제거합니다. |
| Contains(T item) | 스택에 특정 항목이 포함되어 있는지 확인합니다. |
큐 ( Queue ) - 선입선출
- 큐는 우리가 가계에 들어가거나 음식점에 갈 때 줄서기와 비슷합니다 먼저온 순서대로 먼저 나가는 구조입니다
- 데이터를 순서대로 저장하고 관리하는 선형 자료구조이다
- FIFO - first in first out
- 프린터 대기열, 너비 우선 탐색(BFS), 버퍼링 등에 사용됩니다
주요 메서드
| 메서드 | 설명 |
| Enqueue(T item) | 큐의 **맨 뒤(Rear)**에 항목을 추가합니다. (삽입) |
| Dequeue() | 큐의 **맨 앞(Front)**에 있는 항목을 제거하고 반환합니다. (제거 및 반환) |
| Peek() | 큐의 **맨 앞(Front)**에 있는 항목을 제거하지 않고 반환합니다. (확인) |
| Clear() | 큐에서 모든 항목을 제거합니다. |
| Contains(T item) | 큐에 특정 항목이 포함되어 있는지 확인합니다. |
덱 ( Deque )
- Deque란 양방향 큐 (Double-ended Queue)의 줄임말로 데이터의 양쪽 끝에서 모두 삽입과 삭제가 가능한 자료구조 입니다 큐의 FIFO(선입선출) 방식과 스택의 LIFO(후입선출) 방식을 혼합한 형태로 앞뒤 어디서든 데이터를 효율적으로 추가하거나 제거할 수 있어 다양한 응용 분야에서 사용됩니다
- 연산은 덱의 앞이나 뒤에서 삽입, 삭제, 확인등이 가능해 유연합니다
- 활용 분야는 슬라이딩 윈도우, 웹브라우저 히스토리 등이 있습니다
'C# > 자료구조를 활용한 데이터 관리' 카테고리의 다른 글
| 그래프 와 트리 (0) | 2025.11.03 |
|---|---|
| 딕셔너리 (0) | 2025.11.03 |
| 리스트와 링크드 리스트 (0) | 2025.10.14 |
| 자료구조 (0) | 2025.10.14 |