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

تعداد درختهای دودویی؟ - pooyaa - 16 بهمن ۱۳۹۳ ۰۴:۵۶ ب.ظ

سلام

اگر پیمایش میانترتیب nتا نود رو داشته باشیم و همچنین xتا برگ آن مشخص باشن-آنگاه تعداد درختهای دودویی قابل ساخت چی میشه؟آیا قابل محاسبه هست؟

RE: تعداد درختهای دودویی؟ - LunaM - 16 بهمن ۱۳۹۳ ۰۵:۴۹ ب.ظ

می خواهیم تعداد درخت های دودوی متفاوت را که با n گره می توان ساخت بدست آوریم.فرض کنید که گره های هرکدام از این درخت ها را به روش میان ترتیب از ۱ تا n شماره گذاری می کنیم.با این شماره گذاری ، فرض کنید شماره [tex]1\: <=\: i\: <=n[/tex] ریشه درخت باشد. در آن صورت زیر درخت راست آن حتماً باید n-i گره داشته باشد.
حال اگر [tex]T(n)[/tex] تعداد درخت دودیی با n گره باشد ، تعداد زیر درخت های چپ و راست ریشه به ترتیب برابر [tex]T(i-1)[/tex] و [tex]T(n-i)[/tex] خواهند بود.
در آن صورت اگر گره ی i ریشه باشد ، حاصل ضرب [tex]T(i)T(n-i)[/tex] برابر تعداد کل درخت هاست.
برای در نظر گرفتن همه حالات یک رابطه بازگشتی بدست می آید. که جواب آن عدد کاتلان است:
[tex]T(n)=\frac{1}{n 1}C(2n,n)[/tex]

به نقل از کتاب دکتر قدسی

RE: تعداد درختهای دودویی؟ - pooyaa - 16 بهمن ۱۳۹۳ ۰۶:۰۴ ب.ظ

(۱۶ بهمن ۱۳۹۳ ۰۵:۴۹ ب.ظ)LunaM نوشته شده توسط:  می خواهیم تعداد درخت های دودوی متفاوت را که با n گره می توان ساخت بدست آوریم.فرض کنید که گره های هرکدام از این درخت ها را به روش میان ترتیب از ۱ تا n شماره گذاری می کنیم.با این شماره گذاری ، فرض کنید شماره [tex]1\: <=\: i\: <=n[/tex] ریشه درخت باشد. در آن صورت زیر درخت راست آن حتماً باید n-i گره داشته باشد.
حال اگر [tex]T(n)[/tex] تعداد درخت دودیی با n گره باشد ، تعداد زیر درخت های چپ و راست ریشه به ترتیب برابر [tex]T(i-1)[/tex] و [tex]T(n-i)[/tex] خواهند بود.
در آن صورت اگر گره ی i ریشه باشد ، حاصل ضرب [tex]T(i)T(n-i)[/tex] برابر تعداد کل درخت هاست.
برای در نظر گرفتن همه حالات یک رابطه بازگشتی بدست می آید. که جواب آن عدد کاتلان است:
[tex]T(n)=\frac{1}{n 1}C(2n,n)[/tex]

به نقل از کتاب دکتر قدسی

کجای ۶۰۰نوشته؟میشه لطفا شماره صفحه بدید

RE: تعداد درختهای دودویی؟ - LunaM - 16 بهمن ۱۳۹۳ ۰۶:۱۲ ب.ظ

(۱۶ بهمن ۱۳۹۳ ۰۶:۰۴ ب.ظ)pooyaa نوشته شده توسط:  
(16 بهمن ۱۳۹۳ ۰۵:۴۹ ب.ظ)LunaM نوشته شده توسط:  می خواهیم تعداد درخت های دودوی متفاوت را که با n گره می توان ساخت بدست آوریم.فرض کنید که گره های هرکدام از این درخت ها را به روش میان ترتیب از ۱ تا n شماره گذاری می کنیم.با این شماره گذاری ، فرض کنید شماره [tex]1\: <=\: i\: <=n[/tex] ریشه درخت باشد. در آن صورت زیر درخت راست آن حتماً باید n-i گره داشته باشد.
حال اگر [tex]T(n)[/tex] تعداد درخت دودیی با n گره باشد ، تعداد زیر درخت های چپ و راست ریشه به ترتیب برابر [tex]T(i-1)[/tex] و [tex]T(n-i)[/tex] خواهند بود.
در آن صورت اگر گره ی i ریشه باشد ، حاصل ضرب [tex]T(i)T(n-i)[/tex] برابر تعداد کل درخت هاست.
برای در نظر گرفتن همه حالات یک رابطه بازگشتی بدست می آید. که جواب آن عدد کاتلان است:
[tex]T(n)=\frac{1}{n 1}C(2n,n)[/tex]

به نقل از کتاب دکتر قدسی

کجای ۶۰۰نوشته؟میشه لطفا شماره صفحه بدید

داخل کتاب ۶۰۰ مسئله نیست در کتاب داده ساختارها و مبانی الگوریتم ها فصل ۴ صفحه ۱۸۸ و ۱۸۹ و ۱۹۰

RE: تعداد درختهای دودویی؟ - pooyaa - 16 بهمن ۱۳۹۳ ۰۶:۱۹ ب.ظ

(۱۶ بهمن ۱۳۹۳ ۰۵:۴۹ ب.ظ)LunaM نوشته شده توسط:  می خواهیم تعداد درخت های دودوی متفاوت را که با n گره می توان ساخت بدست آوریم.فرض کنید که گره های هرکدام از این درخت ها را به روش میان ترتیب از ۱ تا n شماره گذاری می کنیم.با این شماره گذاری ، فرض کنید شماره [tex]1\: <=\: i\: <=n[/tex] ریشه درخت باشد. در آن صورت زیر درخت راست آن حتماً باید n-i گره داشته باشد.
حال اگر [tex]T(n)[/tex] تعداد درخت دودیی با n گره باشد ، تعداد زیر درخت های چپ و راست ریشه به ترتیب برابر [tex]T(i-1)[/tex] و [tex]T(n-i)[/tex] خواهند بود.
در آن صورت اگر گره ی i ریشه باشد ، حاصل ضرب [tex]T(i)T(n-i)[/tex] برابر تعداد کل درخت هاست.
برای در نظر گرفتن همه حالات یک رابطه بازگشتی بدست می آید. که جواب آن عدد کاتلان است:
[tex]T(n)=\frac{1}{n 1}C(2n,n)[/tex]

به نقل از کتاب دکتر قدسی
آخه این سوال علوم امروز بود
گزینه هاش خیلی گنده منده بودن!! و شبیه عدد کاتالان ولی خود عدد کاتالان نبود
و یه گزینه هم گفته بود نمیشه