python의 reversed, join, slicing([]) 모두다 O(N)의 시간복잡도를 가진다.
문자열, 리스트를 뒤집을 때 [::-1]로 뒤집는 방법이 있다.
heapq 모듈에 대해서(참고 블로그)
: heapq는 우선순위 큐로 알려진 힙 자료구조와 같은 구조로 동작하는 list를 만들도록 도와주는 파이썬 모듈이다. heapq모듈은
import heapq
로 사용하고 리스트를 heap처럼 사용하려면
heap = [3,1,5,6,2]
heapq.heapify(heap)
heap.heappop(heap) #logN의 시간복잡도
heap.heappush(heap,3) #logN의 시간복잡도
bisect 모듈에 대해서(이진탐색 모듈)
import bisect
mylist = [1, 2, 3, 7, 9, 11, 33]
print(bisect.bisect(mylist, 3))
python math 모듈에 팩토리얼 값을 구해주는 모듈이 있다
math.factorial(n)