কম্পিউটার

ইন্টারভাল হিপস থেকে ন্যূনতম উপাদান সরানো হচ্ছে


  • একটি ব্যবধানের স্তূপে, ক্ষুদ্রতম উপাদান হল রুট নোডের বাম দিকের উপাদান। এই উপাদানটি বাদ দেওয়া হয় এবং ফেরত দেওয়া হয়।
  • রুট নোডের বাম দিকে তৈরি শূন্যস্থান পূরণের জন্য, শেষ নোড থেকে একটি উপাদান বাদ দেওয়া হয় এবং আবার রুট নোডে ঢোকানো হয়৷
  • এই উপাদানটি পরবর্তীতে অবরোহী নোডের সমস্ত বাম হাতের উপাদানগুলির সাথে ধারাবাহিকভাবে তুলনা করা হয় এবং একটি ব্যবধানের স্তূপের জন্য সমস্ত শর্ত পূরণ হলে প্রক্রিয়াটি শেষ হয়ে যায়৷
  • যদি নোডের বাম দিকের উপাদানটি যেকোনো পর্যায়ে ডান পাশের উপাদানের চেয়ে বেশি হয়ে যায়, তাহলে দুটি উপাদান বিনিময় করা হয় এবং তারপরে আরও তুলনা করা হয়।
  • শেষে, রুট নোডে আবার বাম দিকের ক্ষুদ্রতম উপাদান থাকবে।

এই পদ্ধতিটি নিম্নলিখিত উপায়ে ব্যাখ্যা করা যেতে পারে -

ন্যূনতম উপাদান অপসারণ বিভিন্ন উপায়ে পরিচালনা করা হয় -

  • যখন ইন্টারভাল হিপ খালি থাকে, রিমুভমিন অপারেশন ব্যর্থ হয়।
  • যখন ইন্টারভাল হিপে শুধুমাত্র একটি উপাদান থাকে, তখন এই উপাদানটি ফেরত দেওয়া উচিত। আমরা কোনো উপাদান ছাড়াই একটি ব্যবধানের স্তূপ রেখে যাই।
  • যখন একাধিক উপাদান থাকে, তখন মূলের বাম প্রান্ত বিন্দুটি ফেরত দিতে হবে। এই বিন্দুটি মূল থেকে মুছে ফেলা হয়।
  • যদি রুটটি ব্যবধানের স্তূপের শেষ নোড নির্দেশ করে, তাহলে আর কিছুই করতে হবে না।
  • যখন শেষ নোডটি রুট নোড নয়, আমরা শেষ নোড থেকে বাম বিন্দু p সরিয়ে ফেলি। যদি এর ফলে শেষ নোডটি খালি হয়ে যায়, তাহলে শেষ নোডটি আর হিপের অংশ নয়৷
  • শেষ নোড থেকে বিন্দু p মুছে ফেলা হয়েছে রুট থেকে শুরু করে এমবেডেড মিন হিপে পুনরায় প্রবেশ করানো হয়৷
  • যখন আমরা নিচে চলে যাই, তখন p ≤r নিশ্চিত করতে পরীক্ষা করা নোডের ডান প্রান্ত বিন্দু r এর সাথে বর্তমান p পরিবর্তন করা প্রয়োজন হতে পারে। একটি সাধারণ স্তূপে পুনরায় ঢোকানোর জন্য ব্যবহৃত একই কৌশলটি প্রয়োগ করে পুনরায় সন্নিবেশ করা হয়৷

  1. ডেটা স্ট্রাকচারে ইন্টারভাল হিপস

  2. C# ব্যবহার করে হেডনোড থেকে nth উপাদান মুছুন

  3. কিভাবে একটি C# তালিকা থেকে প্রথম উপাদান পপ?

  4. ন্যূনতম মান সহ পাইথন তালিকা থেকে উপাদানটি কীভাবে খুঁজে পাবেন?