Queue
LinkedList를 기반으로 Queue를 사용 → Array List는 시간복잡도 때문에 사용하지 않음
Queue: 시간 순서상 먼저 저장한 데이터가 먼저 출력되는 선입선출 FIFO(First In First Out) 형식으로 데이터를 저장하는 자료구조
- enqueue: rear에 데이터를 추가하는 것
- dequeue: front에서 데이터를 꺼내는 것
Python에서는 deque(doubly ended queue)를 사용!
Queue 자체보다는 BFS라는 넓이 우선 탐색에 주로 사용된다!
from collections import deque
queue = deque()
#enqueue() O(1)
queue.append(1)
queue.append(2)
#dequeue() O(1)
queue.popleft()
Stack
Array List 기반으로 Stack으로 사용
Stack: 시간 순서상 가장 최근에 추가한 데이터가 가장 먼저 나오는 후입선출 LIFO(Last In First Out) 형식으로 데이터를 저장하는 자료구조
- push: stack의 top에 데이터를 추가하는 것
- pop: stack의 top에서 데이터를 추출하는 것
Queue 자체보다는 DFS라는 넓이 우선 탐색에 주로 사용된다!
stack = []
#push O(1)
stack.append(1)
stack.append(2)
#pop O(1)
stack.pop()
'<p class="coding"> > Python 코테' 카테고리의 다른 글
[코딩테스트 Python3(6)] Graph 그래프 (0) | 2023.07.07 |
---|---|
[코딩테스트 Python3 (5)] Tree 트리 자료구조 - BFS / DFS (0) | 2023.07.06 |
[Python3 코딩테스트(4)] Hash Table (0) | 2023.07.04 |
[Python3 코딩테스트 (2)] Linked List (0) | 2023.07.02 |
[Pthython3 코딩테스트 (1)] Intro & Array(배열) (0) | 2023.06.30 |