[비선형] Priority Queue

2024. 8. 6. 19:23·CS/Data Structure

❒ Description


우선순위 큐(Priority Queue)에 대해서 알아보자.

 

 

 

❒ Priority Queue


우선순위 큐(Priority Queue)는 스택과 큐와 같은 추상자료형(ADT)이다.

Queue와 거의 비슷하지만, 각 요소들이 우선순위를 갖고 있다는 차이점이 있다.

 

 

P-Queue는 여러가지 자료구조로 구현이 가능하다.

위와 같이 여러 구현 방식이 있지만, 최악의 경우에도 시간복잡도가 O(logN)인 'Heap(힙)' 자료구조를

활용하는 방식이 가장 대표적이다.

 

 

 

 

 

❒ Java에서 Priority Queue 선언하기


기본적으로 아래와 같이 P-Queue를 선언한다. 이 경우는 작은 숫자가 우선순위를 가지는 P-Queue이다.

PriorityQueue<Integer> pq = new PriorityQueue<>();

 

 

커스텀으로 비교를 하고 싶으면 아래와 같이 사용할 수 있다.

PriorityQueue<ListNode> pq = new PriorityQueue<>((o1, o2) -> {
    if (o1.val == o2.val) {
        return 0;
    } else if (o1.val > o2.val) {
        return 1;
    } else {
        return -1;
    }
});

Compartor를 사용하여 특정 기준으로 우선순위를 부여할 수 있다.

 

 

 

 

 


'CS > Data Structure' 카테고리의 다른 글

[비선형] 균형 이진 탐색 트리  (0) 2024.12.11
[비선형] Hash Table  (0) 2024.08.09
[선형] Doubly-Linked List  (0) 2024.08.06
[선형] Circular Queue  (0) 2024.08.04
README.md  (0) 2024.07.24
'CS/Data Structure' 카테고리의 다른 글
  • [비선형] Hash Table
  • [선형] Doubly-Linked List
  • [선형] Circular Queue
  • README.md
gilbert9172
gilbert9172
gilbert9172 님의 블로그 입니다.
  • gilbert9172
    バックエンド
    gilbert9172
  • 전체
    오늘
    어제
    • All Categories (174)
      • 우테코 7기 (21)
        • 1주차 (8)
        • 2주차 (5)
        • 3주차 (6)
      • Langauge (4)
        • Java (3)
        • Kotlin (1)
      • Back-End (13)
        • SpringBoot (1)
        • Trouble Shooting (0)
        • Setup & Configuration (1)
        • SQL (3)
        • Redis (8)
      • Architecture (6)
        • Multi Module (1)
        • DDD (5)
      • CS (30)
        • Data Structure (6)
        • Operating System (0)
        • Network (12)
        • Database (10)
        • Design Pattern (2)
      • Algorithm (78)
        • 내용 정리 (18)
        • 문제풀이 (60)
      • DevOps (6)
        • AWS (5)
        • Git (1)
      • Front-End (1)
        • Trouble Shooting (1)
      • Project (6)
        • 페이스콕 (6)
      • Book (8)
        • 이벤트 기반 마이크로서비스 구축 (6)
        • 친절한 SQL 튜닝 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    binarysearch
    Two-Pointer
    부분단조성
    sliding-window
    Back-Tracking
    greedy
    오블완
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
gilbert9172
[비선형] Priority Queue
상단으로

티스토리툴바