Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

자바의 최대 힙

<시간/>

최대 힙은 완전한 이진 트리로, 모든 단계에서 루트 노드의 값이 자식 노드의 값보다 크거나 같습니다.

다음은 라이브러리 함수를 사용하여 Max Heap을 구현한 것입니다.

import java.util.*;
public class Demo{
   public static void main(String args[]){
      PriorityQueue<Integer> my_p_queue = new PriorityQueue<Integer>(Collections.reverseOrder());
      my_p_queue.add(43);
      my_p_queue.add(56);
      my_p_queue.add(99);
      System.out.println("The elements in the priority queue are : ");
      Iterator my_iter = my_p_queue.iterator();
      while (my_iter.hasNext())
      System.out.println(my_iter.next());
      my_p_queue.poll();
      System.out.println("After removing an element using the poll function, the queue elements are :");
      Iterator<Integer> my_iter_2 = my_p_queue.iterator();
      while (my_iter_2.hasNext())
      System.out.println(my_iter_2.next());
      Object[] my_arr = my_p_queue.toArray();
      System.out.println("The array representation of max heap : ");
      for (int i = 0; i < my_arr.length; i++)
      System.out.println("Value: " + my_arr[i].toString());
   }
}

출력

The elements in the priority queue are :
99
43
56
After removing an element using the poll function, the queue elements are :
56
43
The array representation of max heap :
Value: 56
Value: 43

Demo라는 클래스에는 주요 기능이 포함되어 있습니다. 메인 함수 내에서 우선순위 큐의 인스턴스가 정의되고 'add' 함수를 사용하여 요소가 여기에 추가됩니다. 반복자가 정의되고

우선 순위 대기열의 요소를 반복하는 데 사용됩니다. 'poll' 함수는 목록에서 요소를 제거하는 데 사용됩니다. 그런 다음 요소가 반복되어 화면에 표시됩니다.