자료구조 2

[자료구조] 우선순위 큐 (Priority Queue)

우선순위 큐 (Priority Queue) 큐나 스택과 같은 자료 구조 중 하나로, 각 원소가 우선순위를 가지고 있는 것이 특징이다. 우선순위 큐에서 높은 우선순위를 가진 원소가 낮은 우선순위를 가진 원소보다 먼저 처리된다. 우선순위가 같은 원소는 우선순위 큐 내 순서를 기준으로 처리된다. 우선순위 큐 == 힙 (?) 인터넷에 우선순위 큐에 대해 찾다 보면 힙과 함께 정리한 글이 많이 보이는데, 우선순위 큐가 힙이라고 할 수는 없다. 우선순위 큐는 리스트나 맵과 같은 추상적인 개념으로 힙, 배열, 연결 리스트 또는 다른 방식으로 구현할 수 있다. 다만 시간복잡도 등의 이유로 일반적으로 힙으로 많이 구현하는 것 같다. 아래는 우선순위 큐의 구현 방식에 따른 enqueue / dequeue 연산의 시간복잡도..

자료구조 2023.10.20

[자료구조] deque - 양방향 큐

개요 예전에 Python에서 큐를 다루는 방법을 소개하고자 2021.10.07 - [자료 구조] 회문 찾기 / 큐 & 스택을 작성했었는데, 찾아보니 deque라는 자료구조가 따로 존재해 내용을 적어둔다. 양방향 큐 (deque) Queue는 먼저 저장한 자료를 먼저 빼내는 선입선출(First In First Out; FIFO) 방식의 자료구조다. REAR에서민 자료를 추가하고 FRONT에서만 자료를 삭제하기 때문에 방향을 구분하지 않는다. 반면 양방향 큐(Double-Ended Queue; deque)는 그 이름대로 데이터의 추가와 삭제가 FRONT, REAR 모두에서 이뤄진다. 즉, FIFO나 후입선출(Last In First Out; LIFO)를 따르지 않는다. Deque는 기본적으로 동적 배열을 사..

자료구조 2023.10.18
1