Algorithm

[Algorithm] 16강 : 스택과 큐 자료구조

반응형

스택 자료구조

 

먼저 들어온 데이터가 나중에 나가는 형식의 자료구조 (선입 후출)

입구와 출구가 동일한 형태로 스택을 시각화할 수 있다.

 

위의 박스가 쌓이는 것처럼 나중에 들어온 것이 먼저 나가는 구조이다.

 

# 구현

stack = []

stack.append(5)
=>[5]
stack.append(2)
=>[5,2]
stack.append(3)
=>[5,2,3]
stack.append(7)
=>[5,2,3,7]
stack.pop()
=>[5,2,3]
stack.append(1)
=>[5,2,3,1]
stack.append(4)
=>[5,2,3,1,4]
stack.pop()
=>[5,2,3,1]

# 최상단 원소부터 출력
print(stack[::-1] 
=>[1,3,2,5]

#최하단 원소부터 출력
print(stack)
[5,2,3,1]

 


큐 자료구조

 

먼저 들어온 데이터가 먼저 나가는 형식(선입선출)

큐는 입구와 출구가 모두 뚫려있는 터널과 같은 형태로 시각화할 수 있다.

 

 

 

# 구현

 

from collections import deque

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

queue.append(5)
=>[5]
queue.append(2)
=>[5,2]
queue.append(3)
=>[5,2,3]
queue.append(7)
=>[5,2,3,7]
queue.popleft()
=>[2,3,7]
queue.append(1)
=>[2,3,7,1]
queue.append(4)
=>[2,3,7,1,4]
queue.popleft()
=>[3,7,1,4]

#먼저 들어온 순서대로 출력
print(queue) 
deque([3,7,1,4])

#역순으로 변경
queue.reverse()

#나중에 들어온 원소부터 출력
print(queue)
deque([4,1,7,3])

 

 


www.youtube.com/watch?v=m-9pAwq1o3w&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC

이 자료는 동빈 나 님의 이코 테 유튜브 영상을 보고 정리한 자료입니다.




반응형