সম্ভাব্য ফাংশন বাইনারি হিপ এক্সট্র্যাক্ট সর্বাধিক ও (1)


10

আমার সর্বাধিক হ্যাপের জন্য সম্ভাব্য ফাংশনটি সনাক্ত করতে সহায়তা প্রয়োজন যাতে এক্সট্র্যাক্ট সর্বাধিক মোড়ের সময়কালে সম্পন্ন হয়। আমার যুক্ত করা উচিত যে আমার সম্ভাব্য পদ্ধতি সম্পর্কে ভাল ধারণা নেই।O(1)

আমি জানি যে নিষ্কাশনের ব্যয়টি হ্রাস করার জন্য সন্নিবেশ ফাংশনটি আরও "প্রদান" করা উচিত এবং এটি গাদা উচ্চতার সাথে সম্পর্কিত হতে হবে (যদি log(n) উচ্চতা দেয় গাদা সন্নিবেশ 2log(n) বা k=1n2log(k) ) হতে হবে

উত্তর:


13

নিম্নলিখিত চেষ্টা করুন:

ওজন একটি উপাদান এর গাদা মধ্যে সংশ্লিষ্ট বাইনারি ট্রি তার গভীরতা। সুতরাং মূলের উপাদানটির ওজন শূন্য, এর দুটি বাচ্চার ওজন 1 এবং আরও অনেক বেশি। আপনি সম্ভাব্য ফাংশন হিসাবে সংজ্ঞায়িতwiiH

Φ(H)=iH2wi.

আসুন এখন হ্যাপ অপারেশনগুলি বিশ্লেষণ করুন। জন্য সন্নিবেশ যদি আপনি একটি নতুন উপাদান যুক্ত করুন গভীরতা যোগ সর্বাধিক । এটি সম্ভাব্যতা দ্বারা বৃদ্ধি করে এবং সময়ে করা যায়। তারপরে আপনি গাদা-সম্পত্তিটি নিশ্চিত করার জন্য নতুন গাদা উপাদানটি "বুদবুদ" করেন। এটি সময় নেয় এবং leaves অপরিবর্তিত রাখে। সুতরাং সন্নিবেশকরণের জন্য খরচগুলি হ'ল ।dlog(n)2dO(1)O(logn)Φ(H)O(log(n)+Δ(Φ(H)))=O(logn)

এখন এক্সট্রাক্টমিন বিবেচনা করুন । আপনি মূলটি বের করেন এবং এটি স্তূপের শেষ উপাদান দ্বারা প্রতিস্থাপন করেন। এই দ্বারা সম্ভাব্য কমে , এইভাবে আপনি গাদা সম্পত্তি মেরামত করার সামর্থ, সেইজন্য এবং amortized খরচ এখন ।2log(n)O(1)

আপনার যদি সম্ভাব্য ক্রিয়াকলাপের জন্য একটি সাধারণ প্রশ্ন থাকে তবে আপনার এটি অন্যরকম প্রশ্ন হিসাবে ভঙ্গ করা উচিত।


আমি নিশ্চিত আপনি ঠিক আছেন তবে আমি সন্নিবেশ বুঝতে পারি নি। কেন অপরিবর্তিত? দুঃখিত যদি উত্তরটি সুস্পষ্ট হয় তবে আপনি দয়া করে expand প্রসারিত করতে পারেন ? আমি দেখতে পাচ্ছি না কেন সেখানে আপনার নেতিবাচক সংখ্যা থাকবেΔ(Φ(H)))Δ
অ্যান্ড্রে

Δ(Φ(H)) সন্নিবেশ করার আগে এবং পরে - সম্ভাব্য পার্থক্য বোঝায়। এটি সর্বাধিক । আপনি যখন গাদা (বুদ্বুদ-আপ বা বুদ্বুদ-ডাউন) এ দুটি উপাদান বিনিময় করেন, তারপরে একটি ওজন +1 হয় এবং অন্যটি -1 পরিবর্তন হয়, সুতরাং সম্ভাব্য (সমস্ত ওজনের যোগফল) একই থাকে। 2log(n)
এ.চুলজ

কীভাবে মেরামতের ও (1) হয়? গাদা মেরামতের ক্ষেত্রে সম্ভাব্য ফাংশনটির ব্যবহার কী? আপনি দয়া করে স্পষ্ট করতে পারেন
সোহাইব

@ সোহাইব: মেরামতের জন্য সময় লাগে , তবে উপরের সম্ভাব্য ফাংশনটি ব্যবহার করে মোড়িত সময় কাটাচ্ছে । এমোরিটাইজড ব্যয় বিশ্লেষণ করা ছাড়া সম্ভাব্য ফাংশনের আর কোনও ব্যবহার নেই। O(logn)O(1)
এ.স্কুলজ

@ এ.এসচুলজ সুতরাং এর সংক্ষেপে এর অর্থ হ'ল প্রতিটি সময় থেকে এক্সট্রাক্ট অপারেশনটি এন সংখ্যা দ্বারা অনেক বার করা হয়ে থাকে সম্ভাব্য ফাংশন 2 লজেন দ্বারা হ্রাস পাবে (মেরামত করার পরে সমানভাবে বাড়তেও পারে বা নাও হতে পারে)। এই জাতীয় জিনিসের সামগ্রিক জটিলতা ধ্রুব সময় হতে পারে যেহেতু শেষ পর্যন্ত গাছে কোনও নোড থাকবে না। আমি কি সঠিক?
সোহাইব
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.