(۲۴ بهمن ۱۳۹۲ ۰۲:۵۵ ب.ظ)mehdi1902 نوشته شده توسط: (24 بهمن ۱۳۹۲ ۰۲:۴۵ ب.ظ)راضیه اکبری نوشته شده توسط: برای ترکیب دو هیپ من اینطوری گفتم که در زمان nlogn و mlogm ماکس و مین هیپ تبدیل به دو ارایه مرتب میشن حالا در بدترین حالت برای ادغام دو ارایه m+n-1 میشود و ساخت یک ماکس هیپ با m+n عنصر در زمان o(m+n هستش پس نهایتا داریم nlogn+mlogm+o(m+n که میشه nlogn+mlogm اگه اشتباه میکنم بگین لطفا که فردا این اشتبا ه رو تو کنکور مهندسی نکنم احیانا
این سوالش اشتباه نبود :-؟
یه دونه O(n) برای تبدیل مین به ماکس. یه دونه min {logn , log m} هم برای اینکه به هم وصل بشن. مثلن ماکس یکی رو بیاریم ریشه و مرتبش کنیم درخت رو و فرزند دیگه شو بذاریم اون یه درخت. یعنی میشه
n + min {logn , logm}
شما وقتی دو تا آرایه رو به هم تو یه آرایه ادغام میکنید زمان m+n-1 نیازه فکر کنم
در نهایت شما یک آرایه m+n+1 عنصری نامرتب خواهید داشت که با مرتبه زمانی O(m+n) هیپ را با آرایه به صورت درجا خواهید ساخت. اصلا نیاز به logm یا logn و این چیزا نیستش بنظرم