IT 기술/DS & Algorithm

스택, 큐의 자료 입출력 원리

gooooooood 2025. 4. 18. 10:37
반응형

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