۰
subtitle
ارسال: #۱
  
درخواست حل یک سوال (حذف از min heap)
سلام ، دوستان میشه این سوال رو با روش حلش برام توضیح بدین؟ ممنونم
۱
ارسال: #۲
  
RE: درخواست حل یک سوال (حذف از min heap)
سلام
قضیه از این قراره
همونطور که دوستمون گفت این وقتی حذف انجام میشه آخرین عنصر میاد جای اون قرار میگیره و ساختار بهم میخوره
حالا عنصر که جای قبلی اومده ممکنه از والدش کوچکتر باشه ( که در این صورت باید بالا بره ) یا باید پایین بره
خب تعداد مقایسه ها در بدترین حالت :
در بدترین حالت ما اول با والدش مقایسه میکنیم و میبینیم که مشکلی نیست و عنصر فعلی کوچکتره - ۱ مقایسه تا الان
حالا باید مینیمم ۲ تا فرزندش رو پیدا کنیم که ۱ مقایسه لازم داره وبعدش عنصرمون را با این مینیمم مقایسه کنیم که ۱ مقایسه میخواد ( برای پایین رفتن در هر سطح ۲ مقایسه لازمه )
۳ سطح باید پایین بریم در بدترین حالت میشه ۶ تا مقایسه .. یه مقایسه هم اولش با والدش کردیم میشه ۷ تا مقایسه
ببینید البته این سوال استاندارد نیست چون ما نمیدونیم که الگوریتمش اول میاد مقدار عنصر رو با فرزندانش مقایسه میکنه یا با والد .. ولی خب این بیشترین تعداد مقایسه ای بود که ما لازم داریم
جواب میشه ۷
ببینید یه چیز دیگرو باهم اشتباه نگیرید .. شما این تست رو نمیتونید اینطوری جواب بدید که حذف از مرتبه logn هست بگید ۷ تا مقایسه لازم دارم .. مثلا اگر ریشه حذف میشد فکر کنم ۱۴ تا مقایسه لازم بود .. مرتبه اصلا چیز دقیقی نیست و توش همه ضریب ها و غیره حذف شده
قضیه از این قراره
همونطور که دوستمون گفت این وقتی حذف انجام میشه آخرین عنصر میاد جای اون قرار میگیره و ساختار بهم میخوره
حالا عنصر که جای قبلی اومده ممکنه از والدش کوچکتر باشه ( که در این صورت باید بالا بره ) یا باید پایین بره
خب تعداد مقایسه ها در بدترین حالت :
در بدترین حالت ما اول با والدش مقایسه میکنیم و میبینیم که مشکلی نیست و عنصر فعلی کوچکتره - ۱ مقایسه تا الان
حالا باید مینیمم ۲ تا فرزندش رو پیدا کنیم که ۱ مقایسه لازم داره وبعدش عنصرمون را با این مینیمم مقایسه کنیم که ۱ مقایسه میخواد ( برای پایین رفتن در هر سطح ۲ مقایسه لازمه )
۳ سطح باید پایین بریم در بدترین حالت میشه ۶ تا مقایسه .. یه مقایسه هم اولش با والدش کردیم میشه ۷ تا مقایسه
ببینید البته این سوال استاندارد نیست چون ما نمیدونیم که الگوریتمش اول میاد مقدار عنصر رو با فرزندانش مقایسه میکنه یا با والد .. ولی خب این بیشترین تعداد مقایسه ای بود که ما لازم داریم
جواب میشه ۷
ببینید یه چیز دیگرو باهم اشتباه نگیرید .. شما این تست رو نمیتونید اینطوری جواب بدید که حذف از مرتبه logn هست بگید ۷ تا مقایسه لازم دارم .. مثلا اگر ریشه حذف میشد فکر کنم ۱۴ تا مقایسه لازم بود .. مرتبه اصلا چیز دقیقی نیست و توش همه ضریب ها و غیره حذف شده
۰
ارسال: #۳
  
RE: درخواست حل یک سوال (حذف از min heap)
ببخشید من متوجه میشه دوباره توضیح بدین؟یعنی تو فرمول ۱۰ میذاریم و تتای ۱ هم ۱ میشه؟
-۱
ارسال: #۴
  
RE: درخواست حل یک سوال (حذف از min heap)
سلام
ببینید وقتی داخل هیپ می خوایم ی عنصرو حذف کنیم با حذفش مشخصه ک هیپمون دیگ اون خاصیت اولیه رو نداره درنتیجه باید heapifyروش انجام بشه یعنی چی؟یعنی مرتب با فرزنداش مقایسه بشه!!و اینکار تا برگها ادامه پیدا میکنه!!از اونجایی ک ارتفاع تا برگ حداکثر [tex]\log\: 100\: 1[/tex]هست پس درکل ۷مقایسه می خواد!
ببینید وقتی داخل هیپ می خوایم ی عنصرو حذف کنیم با حذفش مشخصه ک هیپمون دیگ اون خاصیت اولیه رو نداره درنتیجه باید heapifyروش انجام بشه یعنی چی؟یعنی مرتب با فرزنداش مقایسه بشه!!و اینکار تا برگها ادامه پیدا میکنه!!از اونجایی ک ارتفاع تا برگ حداکثر [tex]\log\: 100\: 1[/tex]هست پس درکل ۷مقایسه می خواد!
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close