سلام
الگوریتم بازگشتی شمارش تعداد درخت با n گره
رو میخواستم
فقط الگوریتم رو هو بگین کافیه
ممنون
سلام
الگوریتم بازگشتی شمارش تعداد درخت با n گره
رو میخواستم
فقط الگوریتم رو هو بگین کافیه
ممنون
شما کافیه یکی از پیمایش های درخت را بروش بازگشتی پیاده سازی کنید، تابع شما باید تعداد فرزندان نود فعلی را برگرداند ، شرط خروج زمانی است که به نود برگ می رسیم و تابع باید صفر برگرداند. برای هر نود ابتدا زیر درخت چپ و سپس زیر درخت راست را پیمایش کنید و جوابهای بدست آمده را با هم جمع کنید
To follow the path:
Look to the master
Follow the master
Walk with the master
See through the master
Become the master
سلام
تنها چیزی که می دونونیم این که درخت ما n تا گره داره
تابعی که با دونستن n گره , تعداد درخت رو بده
مثلا 1 گره 1 درخت
2 گره 2 درخت
3 گره 6 درخت و ...
دوست عزیز اگه شما می خواهید ببینید با n گره چند درخت می توانید بسازید باید با استفاده از فرمول Cayley آنرا پیدا کنید و نیازی به پیمایش ندارید.تابعی که با دونستن n گره , تعداد درخت رو بده
موفق باشید
To follow the path:
Look to the master
Follow the master
Walk with the master
See through the master
Become the master
سلام
قبلش از توجه هتون ممنون
ولی صورت سوالی که من دارم اینه
"تابعی به صورت بازگشتی بنویسید که تعداد درخت های موجود با
N گره را پیدا کند"
فکر نکنم منظور سوال استفاده از فرمول فوق باشه
راستش رو بخواهید چند وقته روش فکر می کنم و خودم هم هنوز
این که دقیقا چی میخواد ؛ نمی دونم
کسی پیشنهاد دیگه ای نداره ممنون
خب مگه بازگشتی نوشتنش کاری جز این داره:؟
int f(int x){
if(x==1)
return 1;
if(x%2==0)
return 0;
int ans=0;
for(int i=1;i<x;i+=2)
ans+=f(i)*f(x-1-i);
return ans;
}