(۱۴ مرداد ۱۳۹۳ ۰۴:۵۶ ب.ظ)miladcr7 نوشته شده توسط: خسته نباشید
میخواستم ببینم چجوری زمان اجرای ساخت heap برابر O(n) میشه محاسبات کتاب پوران رو متوجه نمیشم
و طبق الگوریتم کتاب چرا n.lg(n) نمیشه؟
ا الان جزوه رو دیدم اونم n.lg(n) نوشته.حالا کدوم زمان درسته؟
دو بحث اینجا هست یک بار ممکن بپرسن مرتب سازی به روش heap چطوری انجام میشه اون وقت جواب قطعا nlogn
اما یک وقت می پرسن خود ساخت heap چه مرتبه زمانی داره که دو راه براش وجود داره یک راه پیش راه افتاده اینکه دونه دونه اعداد را وارد درخت هیپ کنیم اون وقت مرتبه اش میشه nlogn
راه دوم که دوستان اشاره کردن اینکه ارایه ورودی را به عنوان یک درخت پیش فرض در نظر بگیرم و از ریشه تا نصف گره ها ( در واقع میشه تمام گره هایی که یک گره زیر خودشون دارند ) الگوریم Max-Heapify را اجرا کنیم اثبات میشه که مرتبه این الگورتیم میشه n
این دو تا لینک فکر کنم بهت کمک کنه
courses.csail.mit.edu/6.006/fall10/handouts/recitation10-8.pdf
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.