mj·2021년 9월 30일
0

자료구조

목록 보기
2/6

📌큐

  • 스택과 마찬가지로 삽입과 삭제의 위치가 제한적인 자료구조
  • 큐의 뒤에서는 삽입만 하고, 큐의 앞에서는 삭제만 이루어지는 구조.
  • 선입선출 (FIFO)
  • BFS에서 활용
  • 주요 메소드
    • offer() : 삽입
    • poll() : 삭제
      * null일 경우 예외 처리 하지 않는다. null일 때 예외처리 하고 싶다면 remove 사용해라!
    • isEmpty()
    • size()
  • 삽입 : enQueue
  • 삭제 : deQueue
  • front = rear : 큐에 있는 모든 데이터가 꺼내진 상태
공백 큐 생성enQueue 원소 삽입deQueue 원소 삭제
front-1그대로+=1
rear-1+=1그대로

java.util.Queue

  • 큐에 필요한 연산을 선언해놓은 인터페이스
  • LinkedList 클래스를 Queue 인터페이스의 구현체로 많이 사용

💡큐 응용 - 버퍼

  • 데이터를 한 곳에서 다른 한 곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 메모리의 영역

  • 순서대로 입출력/전달되어야 하므로 FIFO 자료구조인 큐가 활용된다.


📌우선순위 큐

  • 우선순위를 가진 항목들을 저장하는 큐
  • 선입선출 순서가 아니라 우선순위가 높은 순서대로 먼저 나가게 된다.

java.util.PriorityQueue

  • Heap 자료구조

  • 최대 Heap

    • 가장 큰 값을 기준으로 먼저 나옴
  • 최소 Heap

    • 가장 작은 값을 기준으로 먼저 나옴
profile
내가 보려고 쓰는 블로그 :)

0개의 댓글