큐(Queue)
후입선출인 스택과 달리 선입선출(FIFO) 구조의 자료구조이다
큐는 일상생활에서 광범위하게 사용된다
ex) 서비스센터 콜, 프린터 인쇄 작업, 실시간 스트리밍 버퍼링, 각종 대기열 등
큐의 구현
앞서 본 직선 형태의 큐가 선형 큐이다
배열을 원형으로 사용하는 원형 큐는 front와 rear가 시계방향으로 돌아간다
클래스 형태 파이썬 리스트로 원형 큐를 구현해보자!
큐를 응용해 너비우선탐색을 해보자
파이썬은 queue모듈로 큐와 스택 클래스를 제공한다!
덱(Deque)
덱(double-ended queue)은 전단과 후단에서 모두 삽입/삭제가 가능하다!
즉, 만들어 둔 원형 큐를 상속받아 일부 기능을 추가해 덱을 구현할 수 있다!
우선순위 큐
선출선입 개념을 가진 큐에 실생활의 우선순위의 개념을 도입한 우선순위(Priority) 큐는
입력 순서와 관련없이 우선순위가 높은 데이터가 먼저 출력된다
'Computer Science > Algorithm' 카테고리의 다른 글
[HUFS/자료구조] #7 정렬과 탐색 (2) | 2021.11.12 |
---|---|
[HUFS/자료구조] #6 연결 리스트 (0) | 2021.10.21 |
[HUFS/자료구조] #4 스택 (0) | 2021.09.30 |
[HUFS/자료구조] #3 리스트와 집합 (0) | 2021.09.30 |
[HUFS/자료구조] #2 파이썬 리뷰 (2) | 2021.09.23 |