본문 바로가기

알고리즘

[알고리즘] 자료구조 (파이썬)

스택

stack = []

stack.append(a)

stack.pop() 

stack[-1]


queue = []

queue.append(a)

queue.pop(0)

queue[0]


- 최소 힙

import heapq

heap = []
heapq.heappush(heap, 1)

 

heap = [1,2,3]
heapq.heapify(heap)

 

heapq.heappop(heap)

 

- 최대 힙

heapq.heappush(heap, (-a, a)) : 튜플의 첫번째 원소, a의 역인 -a를 기준으로 정렬하여 최소 힙을 최대 힙처럼 사용한다

heapq.heappop(heap)[1] : (-a, a)에서 a를 출력


우선순위 큐

from queue import PriorityQueue

pq = PriorityQueue() 

pq.put('a')

pq.get()

pq.put((1,'a')) : (우선 순위, 요소)

pq.get()[1]

 

'알고리즘' 카테고리의 다른 글

[알고리즘] 반복법, 재귀법 개념 이해  (0) 2022.05.25
[알고리즘] 정렬  (0) 2022.05.18
[알고리즘] 파이썬 메모  (0) 2022.05.13