কম্পিউটার

জাভাতে ম্যাক্স হিপ


ম্যাক্স হিপ হল একটি সম্পূর্ণ বাইনারি ট্রি, যেখানে প্রতিটি ধাপে একটি রুট নোডের মান চাইল্ড নোডের মানের থেকে বেশি বা সমান।

নীচে লাইব্রেরি ফাংশন ব্যবহার করে ম্যাক্স হিপের একটি বাস্তবায়ন রয়েছে৷

উদাহরণ

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

ডেমো নামের একটি ক্লাসে প্রধান ফাংশন রয়েছে। প্রধান ফাংশনের ভিতরে, অগ্রাধিকার সারির একটি উদাহরণ সংজ্ঞায়িত করা হয় এবং 'অ্যাড' ফাংশন ব্যবহার করে উপাদানগুলি এতে যোগ করা হয়। একটি পুনরাবৃত্তিকারী সংজ্ঞায়িত করা হয় এবং এটি

অগ্রাধিকার সারিতে থাকা উপাদানগুলির উপর পুনরাবৃত্তি করতে ব্যবহৃত হয়। 'পোল' ফাংশনটি তালিকা থেকে একটি উপাদান সরাতে ব্যবহৃত হয়। এরপরে, উপাদানগুলি পুনরাবৃত্তি করা হয় এবং স্ক্রিনে প্রদর্শিত হয়।


  1. ডেটা স্ট্রাকচারের সর্বোচ্চ হিপ থেকে মুছে ফেলা

  2. জাভাতে অ্যারের উপাদানগুলিকে কীভাবে অপরিবর্তনীয় করা যায়?

  3. জাভাতে একটি ফাইলে ট্রিসেটের উপাদানগুলি কীভাবে সংরক্ষণ করবেন?

  4. পাইথনে কি ম্যাক্স হিপ?