티스토리 뷰

스택&큐

스택 & 큐

스택(stack)

  • 나중에 넣은 데이터를 먼저 반환하도록 설계된 메모리 구조로 Last In First Out (LIFO)로 구현됨
  • Data의 입력을 Push, 출력을 Pop라 한다.

exmaple1

In [1]:
a = [1,2,3,4,5]

리스트 a에 10을 넣자

In [2]:
a.append(10)

리스트 a에 20을 넣자

In [3]:
a.append(20)

리스트 a에서 마지막에 넣은 값을 출력하자

In [5]:
a.pop()
Out[5]:
20

리스트 a에서 마지막에 넣은 값을 출력하자

In [6]:
a.pop()
Out[6]:
10

example2

In [8]:
word = input('Input a word: ')
world_list = list(word)
for _ in range(len(world_list)):
    print(world_list.pop())
Input a word: ACE_MOOC
C
O
O
M
_
E
C
A
In [11]:
word = input('Input a word: ')
world_list = list(word)

result=[]
for _ in range(len(world_list)):
    result.append(world_list.pop())
print(result)
print(''.join(result))
print(word[::-1])
Input a word: ACE_MOOC
['C', 'O', 'O', 'M', '_', 'E', 'C', 'A']
COOM_ECA
COOM_ECA

큐(Queue)

  • 먼저 넣은 데이터를 먼저 반환하도록 설계뙨 메모리 구조로 First In First Out으로 구현됨
  • Stack과 반대되는 개념

example1

In [15]:
a = [1,2,3,4,5]
a.append(10)
a.append(20)

리스트 a에서 처음 넣은 값 출력

In [16]:
a.pop(0)
Out[16]:
1

리스트 a에서 처음 넣은 값 출력

In [17]:
a.pop(0)
Out[17]:
2
In [19]:
a
Out[19]:
[3, 4, 5, 10, 20]

출처 : https://youtu.be/xs7uMu3bo8w 강의 들으며 정리

'beginner > 파이썬 기초' 카테고리의 다른 글

NLTK 토큰화, 태그  (0) 2019.05.19
클래스  (0) 2019.04.29
장바구니 알고리즘  (0) 2019.03.05
Matplotlib  (0) 2019.02.19
NumPy_기타  (0) 2019.02.19
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함