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

ارتفاع درخت بازگشت - majid10 - 05 آبان ۱۳۹۵ ۰۶:۱۴ ب.ظ

سلاااااااام بر همه علم پژوهان مانشتی ...
سوالی که اینبار در ذهن مبارکم متولد شده اینه که در درخت بازگشتی زیر
[تصویر:  424809_c0cd2c430c3554a2a4a36348a93072d8.jpg]
ارتفاع درخت چرا شده lg n ؟؟ و کلن نحوه بدست اوردن ارتفاع درخت چیجوریه؟؟ و توی همین سوال جواب (مجموع سطوح) رو چه طور بدست اورده؟
دمه همتون گرم ...

Sent from my Nexus 5 using Tapatalk

RE: ارتفاع درخت بازگشت - Pure Liveliness - 05 آبان ۱۳۹۵ ۰۶:۴۵ ب.ظ

سلام.
ریشه ی درخت یعنی هزینه به ازای [tex]T(n)[/tex] برابر هست با [tex]\frac{n}{\log n}[/tex]
پس هزینه برای [tex]T(\frac{n}{2})[/tex] برابر میشه با [tex]\frac{\frac{n}{2}}{\log(\frac{n}{2})}=\frac{\frac{n}{2}}{\log n-\log_22}=\frac{\frac{n}{2}}{\log n-1}[/tex]
هزینه به ازای [tex]T(\frac{n}{2^k})[/tex] برابر میشه با [tex]\frac{\frac{n}{2^K}}{\log(\frac{n}{2^K})}=\frac{\frac{n}{2^k}}{\log n-\log_22^K}=\frac{\frac{n}{2^k}}{\log n-k}[/tex]
کی میرسیم به ریشه ی درخت؟ وقتی به شرط های اولیه برسیم. اغلب [tex]T(۱)[/tex] یا [tex]T(۲)[/tex]
باید ببینیم این روال تقسیم n به ۲ کجا میرسه به ۲ یعنی [tex]T(\frac{n}{2^k})[/tex] کی برابر با [tex]T(2)[/tex] میشه؟
[tex]T(\frac{n}{2^k})=T(2)\: \: \longrightarrow\: (\frac{n}{2^k})=2\: \: \longrightarrow\: n=2^{k\: }\: \: \: \longrightarrow k=\log n-1[/tex]
چرا ۲؟ چون مخرج نباید ۰ باشه. اگه ۱ در نظر بگیریم مخرج ۰ میشه.
اینم یه مثال دیگه از محاسبه ی ارتفاع درخت :https://manesht.ir/forum/thread-33826.html

واسه به دست آوردن مجموع هزینه های سطوح
با توجه به بالا که :
هزینه به ازای [tex]T(n)[/tex] برابر هست با [tex]\frac{n}{\log n}[/tex]
هزینه برای [tex]T(\frac{n}{2})[/tex] برابر میشه با [tex]\frac{\frac{n}{2}}{\log(\frac{n}{2})}=\frac{\frac{n}{2}}{\log n-\log_22}=\frac{\frac{n}{2}}{\log n-1}[/tex]
هزینه برای [tex]T(\frac{n}{4})[/tex] برابر میشه با [tex]\frac{(\frac{n}{4})}{\log(\frac{n}{4})}=\frac{\frac{n}{4}}{\log n-\log4}=\frac{\frac{n}{4}}{\log n-1}[/tex]
هزینه به ازای [tex]T(\frac{n}{2^k})[/tex] برابر میشه با [tex]\frac{\frac{n}{2^K}}{\log(\frac{n}{2^K})}=\frac{\frac{n}{2^k}}{\log n-\log_22^K}=\frac{\frac{n}{2^k}}{\log n-k}[/tex]
جمع هزینه ی سطح دوم میشه: [tex]2.\frac{\frac{n}{2}}{\log(\frac{n}{2})}[/tex]
جمع هزینه ی سطح سوم میشه: [tex]۴.\frac{\frac{n}{۴}}{\log(\frac{n}{۴})}[/tex]
.
.
جمع هزینه ی سطح kام میشه: [tex]۲^k.\frac{\frac{n}{2^k}}{\log(\frac{n}{2^k})}[/tex]
جمع هزینه های کل سطوح:
[tex]\frac{n}{\log n}+2.\frac{\frac{n}{2}}{\log(\frac{n}{2})}+4.\frac{\frac{n}{4}}{\log(\frac{n}{4}​)}+...+2^k\frac{\frac{n}{2^k}}{\log(\frac{n}{2^k})}[/tex]
[tex]\frac{n}{\log n}+2.\frac{\frac{n}{2}}{\log(\frac{n}{2})}+4.\frac{\frac{n}{4}}{\log(\frac{n}{4}​)}+...+2^k\frac{\frac{n}{2^k}}{\log(\frac{n}{2^k})}=\frac{n}{\log n}+\frac{n}{\log n-1}+\frac{n}{\log n-2}+...+\frac{n}{\log2}[/tex]
چون [tex]2^k=n\: [/tex] هست جمع آخرین سطح به اون صورت شد. از طرفی مخرج نمیتونه ۰ باشه.
[tex]n\cdot(\frac{1}{\log n}+\frac{1}{\log n-1}+...+\frac{1}{1})=n.\sum^{\log n}_{i=1}\frac{1}{i}=n.\ln\log n[/tex]

RE: ارتفاع درخت بازگشت - majid10 - 06 آبان ۱۳۹۵ ۰۶:۲۶ ب.ظ

خیلی خیلی ممنون [PERSON WITH FOLDED HANDS][PERSON WITH FOLDED HANDS]

Sent from my Nexus 5 using Tapatalk