티스토리 뷰

반응형

0. 들어가면서

queue의 기본개념은 다음을 참고하자.

han-py.tistory.com/29

 

Queue

큐(Queue) - 선형큐 - 원형큐 - 연결큐 - 우선순위큐 기본적으로 앞부분은 개념 설명을 진행합니다. 초반부는 개념부분이라 상관없지만 C나 java쓰시는 분들은 linked list를 쓰는데 여기선 python이라 쓰

han-py.tistory.com

세가지 방법

  1. append와 pop을 이용한다.
  2. rear과 front를 이용한다.
  3. Queue 라이브러리 이용한다.

append와 pop 이용

그냥 쉽게 말해서 python의 list 매소드를을 이용하는것이다. 문제에 맞게 넣을 때는 append를 이용하고 뺄 때는 pop을 이용한다.

rear과 front 이용

이 부분은 리스트의 크기를 정해 놓고 인덱스를 이용하는 방법이다. 리스크의 크기가 변경되지 않는 방법이기 때문에 제일 빠르다.
단점이 있다면 길게 적어야한다.

Queue 라이브러리 이용.

import queue

q = queue.Queue()
q.put(1)
q.put(2)
q.put(3)

print(q.get())
print(q.get())
print(q.get())

위의 방법으로 하면 되지만, Queue는 문제풀이에서 안쓴다. deque를 쓰자. 왜냐하면 더 빠르기 때문이다. import collections로 불러오고 deq =collections.deque() 로 지정하고 deq.append()와 deq.popleft()를 이용해서 선입선출구조로 쓰면된다.

결론은 deque쓰자.

보통 큐는 bfs쓸 때 사용하는데 관련 내용은 bfs를 참고하자.

반응형

'알고리즘 > 알고리즘 종류' 카테고리의 다른 글

복잡도 분석  (0) 2020.05.08
[python] 선택정렬(Selection Sort) & 삽입정렬(Insertion Sort)  (0) 2020.04.24
[python] BFS 응용  (0) 2020.04.12
[python] BFS 문제 풀기  (0) 2020.04.10
Queue  (0) 2020.04.02
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
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
글 보관함