تالار گفتمان مانشت
ارتفاع هیپ درجه d با n گره از چه مرتبه ای است؟ - نسخه‌ی قابل چاپ

ارتفاع هیپ درجه d با n گره از چه مرتبه ای است؟ - sos006 - 30 دى ۱۳۸۹ ۱۱:۵۰ ق.ظ

با سلام. عزیزان ارتفاع یک هیپ درجه d و یا هر درخت کاملی با این درجه و تعداد گره های n از چه مرتبه ای میشه؟

RE: ارتفاع هیپ درجه d با n گره؟ - حامد - ۳۰ دى ۱۳۸۹ ۰۲:۳۳ ب.ظ

تله گذاشتی؟!
ارتفاعش که میشه‌: [tex]\left \lceil \log_{d}(d-1) \log_{d}n -1 \right \rceil[/tex]
{فکر نکنی اینو بلد بودم!Big Grin از توی اینترنت پیداش کردم.}
ولی شما مرتبه‌ی پیدا کردن ارتفاع رو خواستی،که از دید من میشه [tex]O(1)[/tex] چونکه n را توی صورت سوال داریم.ولی اگر n را نداشتیم مرتبه میشد[tex]O(\log_{d}n)[/tex] (اگر d رو کمتر از n در نظر بگیریم.)

RE: ارتفاع هیپ درجه d با n گره؟ - sos006 - 30 دى ۱۳۸۹ ۰۹:۱۴ ب.ظ

اگه ارتفاع رو بخوایم بدونیم ،واسه یه درخت کامل درجه d با n گره ارتفاع رو همیشه نمیشه گرفت [tex]( log_{d}(n))[/tex].آخه من واسه d=3 حساب کردم .اگه ۴ تا عنصر داشته باشیم ارتفاع با فرمول بالا میشه۲ در حالیکه باید ۱ بدست بیاد.

RE: ارتفاع هیپ درجه d با n گره؟ - ف.ش - ۳۰ دى ۱۳۸۹ ۰۹:۳۵ ب.ظ

باید دقت کنید که در آخرین سطح یک درخت کامل تعداد گره‌ها میتونه بین ۱ تا [tex]d^{h}[/tex]
باشه .

پس نمیتونید فرمول خاصی برای اون بگید.مگر اینکه تعداد n رو داشته باشید سعی کنید فرمول حفظ نکنید با تحلیل درخت ارتفاع رو محاسبه کنید.

RE: ارتفاع هیپ درجه d با n گره؟ - ف.ش - ۰۱ بهمن ۱۳۸۹ ۱۲:۲۲ ق.ظ

بله من یه لحظه با درخت پر اشتباه کردم بعدش که گفتم باید خودتون تحلیل کنید و فرمول قبل حداکثر n رو به ما میداد . حداقلش هم میشه

[tex]d^{h}-1/d-1 1 =d^{h} d-2/d-1[/tex]


برای اون مثال که d=3 و n=4 بود چون درخت پره. از فرمول اول میریم یعنی

[tex]d^{h 1}-1/d-1 [/tex]
[tex]4=3^{h 1}-1/3-1 [/tex] یعنی h+1 میشه ۲ و h=1 بدست میاد.

البته گفتم این دو فرمول برای وقتی هست که یا حداقل گره رو داشته باشیم یا حداکثر و در هر صورت ارتفاع h هست.