2020-1학기(학업)/알고리즘 이론

collections 모듈의 deque과 queue 활용하기

JaeHyunShin 2021. 1. 31. 21:09

추가 삭제를 양쪽 끝에서 빠른 속도로 할 수 있다.

empty deque은 생성자 없이 만들 수 있다.

DFS BFS 관련한 여행경로 문제를 풀어보겠다.

 

programmers.co.kr/learn/courses/30/lessons/43164

1. 주어진 배열을 그래프로 만든다. 

2. 큐를 만들고 (출발 노드,[경로]) 삽입

3. 경로 찾는 함수를 작성한다.

4. 가능한 경로를 다 찾은 후 알파벳 순으로 정렬& 첫번째 경로 리턴

 

pop() 함수는 rightmost element를 제거하는 용도로 사용한다. 파이썬의 리스트에서 지원하는 pop()과 작용방식 같다 

deque 는 각 명령을 O(1)으로 지원하는데에 반해, Queue 모듈은 멀티쓰레드 환경을 지원하기 때문에 더 느리다고 하네요
참고로 한가지 더 팁을 드리자면, copy.deepcopy() 또한 매우 느린 작업

 

'2020-1학기(학업) > 알고리즘 이론' 카테고리의 다른 글

Dynamic Programming  (0) 2021.02.03