زمان کنونی: ۰۷ دى ۱۴۰۳, ۰۸:۵۴ ق.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

Max heap

ارسال:
  

fateme66 پرسیده:

Question Max heap

سلام.
سوال زیر فاقد گزینه ست,ممنون میشم جواب بدین.
سوال:
یک هرم بیشینه حاوی همه اعداد ۱ تا ۱۰۲۳ است.چه تعداد از اعداد بیشتر از ۱۰۰۰ می توانند برگ باشند؟
حداکثر چه تعداد از این اعداد میتوانند هم زمان برگ باشند؟

۱
ارسال:
  

admin پاسخ داده:

Max heap

ممنونم از سوال قشنگتون. بهتره برای رسیدن به جواب درخت رو ترسیم کنید. البته همه درخت رو لازم نیست ترسیم کنید بلکه شاخه‍های پایینی رو رسم کنید.
در max-heap بزرگترین عدد در ریشه قرار می‍گیرد و فرزندها دارای مقدار کمتری هستند. به همین دلیل شما مجبور هستید که در یکی از شاخه‍ها(حداقل) از ۱۰۲۳ شروع کنید و تا ریشه که در ردیف ۱۰‌ام درخت قرار دارد پایین بیایید. حالا با اعداد باقی مانده سعی کنید که یک max-heap بسازید که اعداد بالاتر از ۱۰۰۰ را داشته باشد.
متاسفانه من الان نمی تونم شکلش رو براتون ترسیم کنم. با محاسبات من جواب برابر با ۸ خواهد بود.

ارسال:
  

fateme66 پاسخ داده:

RE: Max heap

(۰۵ دى ۱۳۸۹ ۱۰:۳۳ ب.ظ)admin نوشته شده توسط:  ممنونم از سوال قشنگتون. بهتره برای رسیدن به جواب درخت رو ترسیم کنید. البته همه درخت رو لازم نیست ترسیم کنید بلکه شاخه‍های پایینی رو رسم کنید.
در max-heap بزرگترین عدد در ریشه قرار می‍گیرد و فرزندها دارای مقدار کمتری هستند. به همین دلیل شما مجبور هستید که در یکی از شاخه‍ها(حداقل) از ۱۰۲۳ شروع کنید و تا ریشه که در ردیف ۱۰‌ام درخت قرار دارد پایین بیایید. حالا با اعداد باقی مانده سعی کنید که یک max-heap بسازید که اعداد بالاتر از ۱۰۰۰ را داشته باشد.
متاسفانه من الان نمی تونم شکلش رو براتون ترسیم کنم. با محاسبات من جواب برابر با ۸ خواهد بود.

ممنون آقای دکتر, به جواب رسیدم.
خیلی خوبه که تو مانشت سوال بی جواب نمی مونه.
یافتن تمامی ارسال‌های این کاربر

۰
ارسال:
  

Masoud05 پاسخ داده:

RE: Max heap

(۰۵ دى ۱۳۸۹ ۰۹:۱۲ ب.ظ)fateme66 نوشته شده توسط:  سلام.
سوال زیر فاقد گزینه ست,ممنون میشم جواب بدین.
سوال:
یک هرم بیشینه حاوی همه اعداد ۱ تا ۱۰۲۳ است.چه تعداد از اعداد بیشتر از ۱۰۰۰ می توانند برگ باشند؟
حداکثر چه تعداد از این اعداد میتوانند هم زمان برگ باشند؟

ارتفاع درخت ۱۰ میباشد(ریشه در سطح ۱ فرض شده) چراکه میدانیم یک هرم بیشینه یک درخت متوازن است پس باید ارتفاع آن ۱۰ باشد(برگها در عمق ۱۰) . با توجه به تعریف هرم بیشینه باید والد هر گره از خود گره بزرگتر باشد پس برای داشتن بیشترین تعداد عنصر بزرگتر از ۱۰۰۰ باید یک مسیر (زیر درخت چپ)داشته باشیم بطول ۹ (غیر ریشه ۱ -۱۰ =۹) که عناصر با افزایش ارتفاع کوچکتر شوند‌، مسیر دیگر یا در واقع زیر درخت دیگر مهم نیست فرض کنید از ۹۹۹ شروع به کم شدن میکند( از بالا به پایین عناصر کوچکتر میشود) . در واقع ۹ مقدار را باید از دست بدهیم تا به سطح برگ‌ها برسیم و از خود دهمین مقدار شروع میشود (۱۰-۱۰۲۳) تا به ۱۰۰۰ برسیم
نتیجه‌: تعداد عناصر برگ بزرگتر از ۱۰۰۰ برابر است با ۱۴ = ۹ - ۲۳
توجه‌: مقدار ۲۳ در بالا تعدا عناصر بزرگتر از ۱۰۰۰ است

۰
ارسال:
  

حامد پاسخ داده:

RE: Max heap

منم برای حالت همزمان ۸ بدست آوردم.
همونطور که Masoud05 گفت ارتفاع ۱۰ هست و ۹ مقدار از دست میدهیم که به برگ برسیم و دو تا رو توی برگ قرار دهیم.۱ مقدار دیگر هم در ارتفاع ۹ از دست میدهیم و دو تای دیگه رو در برگ قرار میدهیم.با از دست دادن دو مقدار در ارتفاع های ۸ و ۹ باز می توانیم دو تای دیگه رو در برگ قرار میدهیم.و در نهایت باز دست دادن یک مقدار در ارتفاع ۹ می توانیم دو تای دیگه رو در برگ قرار میدهیم.که در مجموع میشود ۸ تا در حالت هم زمان.

ارسال:
  

fateme66 پاسخ داده:

RE: Max heap

(۰۵ دى ۱۳۸۹ ۱۱:۲۰ ب.ظ)حامد نوشته شده توسط:  منم برای حالت همزمان ۸ بدست آوردم.
همونطور که Masoud05 گفت ارتفاع ۱۰ هست و ۹ مقدار از دست میدهیم که به برگ برسیم و دو تا رو توی برگ قرار دهیم.۱ مقدار دیگر هم در ارتفاع ۹ از دست میدهیم و دو تای دیگه رو در برگ قرار میدهیم.با از دست دادن دو مقدار در ارتفاع های ۸ و ۹ باز می توانیم دو تای دیگه رو در برگ قرار میدهیم.و در نهایت باز دست دادن یک مقدار در ارتفاع ۹ می توانیم دو تای دیگه رو در برگ قرار میدهیم.که در مجموع میشود ۸ تا در حالت هم زمان.
ممنون از توضیحتون خیلی جامع و کامل بود.
یافتن تمامی ارسال‌های این کاربر

۰
ارسال:
  

admin پاسخ داده:

Max heap

نقل قول: ارتفاع درخت ۱۰ میباشد(ریشه در سطح ۱ فرض شده) چراکه میدانیم یک هرم بیشینه یک درخت متوازن است پس باید ارتفاع آن ۱۰ باشد(برگها در عمق ۱۰) . با توجه به تعریف هرم بیشینه باید والد هر گره از خود گره بزرگتر باشد پس برای داشتن بیشترین تعداد عنصر بزرگتر از ۱۰۰۰ باید یک مسیر (زیر درخت چپ)داشته باشیم بطول ۹ (غیر ریشه ۱ -۱۰ =۹) که عناصر با افزایش ارتفاع کوچکتر شوند‌، مسیر دیگر یا در واقع زیر درخت دیگر مهم نیست فرض کنید از ۹۹۹ شروع به کم شدن میکند( از بالا به پایین عناصر کوچکتر میشود) . در واقع ۹ مقدار را باید از دست بدهیم تا به سطح برگ‌ها برسیم و از خود دهمین مقدار شروع میشود (۱۰-۱۰۲۳) تا به ۱۰۰۰ برسیم
نتیجه‌: تعداد عناصر برگ بزرگتر از ۱۰۰۰ برابر است با ۱۴ = ۹ - ۲۳
توجه‌: مقدار ۲۳ در بالا تعدا عناصر بزرگتر از ۱۰۰۰ است.

دوست عزیز جوابتون درست نیست.
درسته که با فدا کردن ۹ تا می رسیم به برگ اما این تنها برای برگ شدن یکی از اعداد بین ۱۰۰۰ تا ۱۰۲۳ کافیه. برای ساخت برگ بعدی مجبور می‍شیم که از مسیرهای کناری برسیم به برگ. و برای رسیدن به اونها هم برخی از اعداد بین ۱۰۰۰ تا ۱۰۲۳ تلف خواهند شد.

من در جوابی که به سوال دادم کوچکترین شکی رو ندارم.
راستی توجه داشته باشید که max-heap یک درخت کامل است.

۰
ارسال:
  

Masoud05 پاسخ داده:

RE: Max heap

من راه حل خودم رو گفتم .
توی کتاب پوران هم شبیه به حل من و جوابی که من دادم اومده اصلاً این تست کنکور علوم ۸۳ بوده.
البته توی صورت سوال گفته در پایین ترین سطح و نه برگ . مگه منظور از آخرین سطح برگ نیست؟
در ضمن توی گزینه‌ها حداقل گزینه ۱۰ هست!!!

ارسال:
  

حامد پاسخ داده:

RE: Max heap

(۰۵ دى ۱۳۸۹ ۱۱:۴۴ ب.ظ)Masoud05 نوشته شده توسط:  من راه حل خودم رو گفتم .
توی کتاب پوران هم شبیه به حل من و جوابی که من دادم اومده اصلاً این تست کنکور علوم ۸۳ بوده.
البته توی صورت سوال گفته در پایین ترین سطح و نه برگ . مگه منظور از آخرین سطح برگ نیست؟
در ضمن توی گزینه‌ها حداقل گزینه ۱۰ هست!!!
سوال علوم کامپیوتر همون قسمت اول سوال اینجا هست و منظورش تعداد اعدادی هست که توی پایین ترین سطح می تونند باشند.ولی حرفی از همزمانی نیاورده.و جوابی که شما هم دادید برای این قسمت بود.
ولی جوابی که من و دکتر دادیم برای قسمت دوم سوال بود که گفته بود که همزمان برگ باشند.من دیدم قسمت اول ساده است و شما هم جوابشو دادید برای همین فقط قسمت دومو جواب دادم.
یافتن تمامی ارسال‌های این کاربر

۰
ارسال: #۱۰
  

admin پاسخ داده:

Max heap

من فکر می‍کردم تنها حالت همزمانی مد نظر بوده. جواب شما برای سوال اولش درسته و تعداد همونیه که شما گفتین.

۰
ارسال: #۱۱
  

shobair87 پاسخ داده:

Max heap

من هم به همون جواب هشت رسیدم
ممنون از همه دوستان!!

۰
ارسال: #۱۲
  

amin پاسخ داده:

RE: Max heap

با توجه به شکل فقط ۸ برگ داریم که می توانند اعداد بیشتر از ۱۰۰۰ باشند.


فایل‌(های) پیوست شده

۰
ارسال: #۱۳
  

admin پاسخ داده:

Max heap

دوست عزیز min-heap نیست! این شکلی که کشیدین min-heap هست.



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  فصل HEAP از کتاب ساختمان داده طورانی (پارسه) tourani ۳۷ ۴۰,۵۸۶ ۱۲ اسفند ۱۳۹۸ ۰۵:۱۹ ب.ظ
آخرین ارسال: hossein4070
  سوالی از max-heap sir_ams ۳۳ ۲۴,۲۷۸ ۲۸ دى ۱۳۹۶ ۰۲:۳۴ ب.ظ
آخرین ارسال: سیمول
  روش تبدیل یک لیست صعودی از اعداد به max heap peace2013 ۳ ۳,۳۳۸ ۱۸ فروردین ۱۳۹۶ ۰۲:۴۰ ب.ظ
آخرین ارسال: msour44
  تعداد min heapها؟ ۹۰ it reza.bsh ۲ ۲,۵۹۹ ۱۳ اردیبهشت ۱۳۹۵ ۰۹:۳۹ ب.ظ
آخرین ارسال: reza.bsh
  مرتبه heapsort مهرگان ۲ ۱,۸۱۹ ۱۳ بهمن ۱۳۹۴ ۰۸:۳۰ ق.ظ
آخرین ارسال: LEA3C
  الگوریتم MIN-MAX alifarokhi ۲ ۴,۹۰۸ ۲۵ اردیبهشت ۱۳۹۴ ۰۶:۲۳ ب.ظ
آخرین ارسال: gunnersregister
  تعداد مقایسه برای min-heap کردن یک max-heap rezajam ۴ ۴,۶۳۸ ۱۲ اسفند ۱۳۹۳ ۰۱:۴۷ ق.ظ
آخرین ارسال: sali_h
  آیا این زبان مستقل از متن است؟؟ K<=max(i,j) Imankhani ۸ ۷,۵۱۶ ۱۱ بهمن ۱۳۹۳ ۰۷:۴۷ ب.ظ
آخرین ارسال: ریحان
  MinMax Heap rezajam ۱ ۱,۶۳۳ ۱۰ بهمن ۱۳۹۳ ۰۱:۲۸ ب.ظ
آخرین ارسال: A V A
  درخواست حل یک سوال (حذف از min heap) mmamadi49 ۳ ۱,۹۲۷ ۲۸ دى ۱۳۹۳ ۰۹:۰۶ ب.ظ
آخرین ارسال: Densike

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close