반응형
1. Last-In, First Out, 스택
정의 | 모든 데이터의 삽입과 삭제가 리스트의 한쪽 끝에서만 수행되는 제한 조건을 가지는 선형 자료 구조 | |
개념도 | ![]() |
- Top: 리스트의 끝으로 삽입과 삭제 발생 - Bottom: Top의 반대쪽 리스트의 끝 - Push: 스택에서 값을 삽입(입력) - Pop: 스택에서 값을 삭제(출력) |
입출력 원리 | # push stack.append('A') # top = 0 stack.append('B') # top = 1 # pop top_item = stack.pop() # 'B' 반환, top = 0 |
- append(): 끝에 데이터 추가 (top += 1) - pop(): 끝에 데이터 제거 (top -= 1) |
2. First-In, First Out, 큐
정의 | - 데이터를 한쪽 끝에서 삽입하고, 반대쪽 끝에서 삭제하여 선입선출 규칙을 가지는 선형 자료구조 | |
개념도 | ![]() |
- front: 데이터가 출력되는 쪽 - rear: 데이터가 입력되는 쪽 - enqueue: rear에 데이터 입력 - dequeue: front에서 데이터 출력 |
입출력 원리 | # enqueue queue.append('A') # rear queue.append('B') # dequeue front_item = queue.popleft() # front |
- append(): rear에 데이터 입력 - popleft(): front에서 데이터 출력 |
3. 양쪽 끝에서 데이터 추가/제거, Deque
- 스택처럼 후입선출, 큐처럼 선입선출 모두 가능한 자료구조
반응형
'IT 기술 > DS & Algorithm' 카테고리의 다른 글
B 트리, B+ 트리 비교 (0) | 2025.04.18 |
---|---|
A * 알고리즘 (0) | 2025.04.18 |
Red-Black 트리 (0) | 2025.04.18 |
트리 순회 (0) | 2025.04.18 |