PDA

View Full Version : سوال: ادغام دو درخت heap



daneshjoo91
پنج شنبه 11 خرداد 1391, 14:07 عصر
سلام
میخواستم برنامه ای بنویسم که دو درخت heap رو با هم ترکیب کنه . نظر خودم در مورد این برنامه اینه که درخت سوم جدید تهی ای تعریف کنم که از بین دو درخت ریشه ی هر کدام کوچکتر (بزرگتر) بود اونو از درخت خودش حذف کنه و به درخت جدید اضافه کنه . مسلم در اینجا بعد از حدف یه نود از یکی از درخت ها ، باید ساختار درخت دوباره مرتب بشه و دوباره بین دو درخت مقایسه ...و ادامه همین روند تا جایی که یکی از درخت ها نال بشه و بعد از اون ، ریشه ی درخت باقی مونده رو بدون مقایسه به درخت سوم اضافه کنم تا جایی که درخت دومم نال بشه.
اما من به دنبال الگوریتم بهتری هستم اگه دوستان راهنمایی کنند یا حتی پیشنهادی که الگوریتم خودمو بهتر کنه ممنون میشم که در اختیارم بذارید.

Negin.cs
پنج شنبه 11 خرداد 1391, 14:45 عصر
سلام

من فکر میکنم اگه

یه دور روی کل نودهای دو درخت داشته باشه و مقادیر حاصل از نودها رو روی هم بریزه (مثلآ تو یه آرایه ) و مرتب کنه
و بعد با مقادیر حاصله و مرتب شده یه هیپ بسازه

اینجوری زمان کمتری صرف میشه

...؟