[Python] 스택과 큐 자료구조

Hyunji·2022년 3월 6일
0

Python

목록 보기
7/13
post-thumbnail

스택 자료구조

  • 먼저 들어온 데이터가 나중에 나가는 형식(선입후출)의 자료구조
  • 입구와 출구가 동일한 형태로 스택을 시각화 할 수 있다

스택 동작 예시

  • 삽입(5) - 삽입(2) - 삽입(3) - 삽입(7) - 삭제() - 삽입(1) - 삽입(4) - 삭제()

스택 구현 예제

stack = []

# - 삽입(5) - 삽입(2) - 삽입(3) - 삽입(7) - 삭제() - 삽입(1) - 삽입(4) - 삭제()
stack.appned(5)
stack.append(2)
stack.append(3)
stack.append(7)
stack.pop()
stack.append(1)
stack.append(4)
stack.pop()

print(stack[::-1]) # 최상단 원소부터 출력
print(stack) # 최하단 원소부터 출력

# 실행 결과
[1,3,2,5]
[5,2,3,1]

큐 자료구조

  • 먼저 들어온 데이터가 먼저 나가는 형식(선입선출)의 자료구조
  • 입구와 출구가 모두 뚫려 있는 터널과 같은 형태로 시각화 할 수 있다

큐 동작 예시

  • 삽입(5) - 삽입(2) - 삽입(3) - 삽입(7) - 삭제() - 삽입(1) - 삽입(4) - 삭제()

큐 구현 예제

from collections import deque

# 큐(Queue) 구현을 위해 deque 라이브러리 사용
queue = deque()

# 삽입(5) - 삽입(2) - 삽입(3) - 삽입(7) - 삭제() - 삽입(1) - 삽입(4) - 삭제()
queue.append(5)
queue.append(2)
queue.append(3)
queue.append(7)
queue.popleft()
queue.append(1)
queue.append(4)
queue.popleft()

print(queue) # 먼저 들어온 순서대로 출력
queue.reverse()
print(queue) # 나중에 들어온 원소부터 출력

# 실행 결과
deque([3, 7, 1, 4])
deque([4, 1, 7, 3])

https://www.youtube.com/watch?v=7C9RgOcvkvo&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=3

profile
성장중인 개발자

0개의 댓글