본문 바로가기

Python/알고리즘

(2)
[Python : 알고리즘] Queue 란? Queue(큐)란 먼저 들어온 데이터가 먼저 나가는 '선입선출'의 자료구조 입니다. Stack은 한쪽이 막힌 원통이였다면 Queue는 양쪽이 모두 뚫린 원통입니다. 위의 그림처럼 양쪽이 모두 뚫린 원통에서 파란색, 초록색 공을 오른쪽에서 집어넣고, 왼쪽에서 공을 뺄때 가장 먼저 넣었던 파란색 공이 나오게 됩니다. 이러한 형태를 Queue라고 하며, 공을 넣는 과정을 push, 공을 빼내는 과정을 pop이라고 합니다. Queue에서는 push할때 원통의 오른쪽에서 집어넣는다, pop할때는 원통의 왼쪽에서 빼낸다 라고 생각하면 이해하기 쉽습니다. 파이썬에서는 'deque' 라이브러리를 사용해서 간단하게 Queue를 구현할 수 있으며, deque의 append()를 사용하여 Queue 자료구조의 push, d..
[Python : 알고리즘] Stack 이란? Stack(스택)이란 나중에 들어온 데이터가 먼저 나가는 '후입선출'의 자료구조입니다. 한쪽이 막혀있는 원통이라고 생각하시면 이해하기 쉽습니다. 위의 그림처럼 아래가 막혀있는 원통에서 파란색, 초록색 공을 순서대로 넣은 후, 공을 빼게되면 가장 마지막에 넣은 초록색 공이 먼저 빠지게 됩니다. 이러한 형태를 stack 이라고 하며, 공을 넣는 과정을 push, 공을 빼는 과정을 pop 이라고 합니다. 파이썬에서는 Stack을 별도로 구현할 필요 없이 파이썬에서 제공하는 list자료구조를 사용하여 stack을 사용할 수 있습니다. list의 append()를 사용하여 list의 마지막에 값을 추가해 주는 것이 stack 자료구조의 push, list의 pop()을 사용하여 list의 마지막 값을 빼주는 것이..