কম্পিউটার টিউটোরিয়াল

জাভাতে ম্যাক্স হিপ (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 ক্লাসে main ফাংশন আছে। main ফাংশনের ভিতরে প্রায়োরিটি কিউ-এর একটি ইনস্ট্যান্স সংজ্ঞায়িত করা হয়েছে এবং 'add' ফাংশন ব্যবহার করে তাতে এলিমেন্ট যোগ করা হয়েছে। একটি ইটেরেটর সংজ্ঞায়িত করা হয়েছে এবং এটি প্রায়োরিটি কিউ-এর এলিমেন্টগুলো ওভার ইটেরেট করতে ব্যবহৃত হয়েছে। 'poll' ফাংশনটি লিস্ট থেকে একটি এলিমেন্ট রিমুভ করতে ব্যবহৃত হয়েছে। এরপর, এলিমেন্টগুলো আবার ইটেরেট করে স্ক্রিনে প্রদর্শন করা হয়েছে।

  1. ডেটা স্ট্রাকচারে ম্যাক্স হিপ থেকে ডিলিশন

  2. জাভাতে অ্যারে (Array) এর এলিমেন্টগুলো ইমিউটেবল (Immutable) কীভাবে করবেন?

  3. জাভাতে TreeSet-এর এলিমেন্টগুলো ফাইলে সংরক্ষণ করুন

  4. পাইথনে मैक्स হিপ চেক করুন