۰
subtitle
ارسال: #۱
  
بدست آوردن مرتبه این تابع بازگشتی...؟
با سلام.
مرتبه زمانی این تابع چنده؟
با تشکر فراوان از همه دوستان عزیز...
مرتبه زمانی این تابع چنده؟
کد:
int F(N)
{
if (N<3) return 1;
return F (n-3) - F (n-2) + F (n-1);
}
۰
ارسال: #۲
  
RE: بدست آوردن مرتبه این تابع بازگشتی...؟
بدلیل اینکه الگوریتم بازگشتی تابع در صورت سوال عنوان شده است در ابتدا باید رابطهی بازگشتی تابع را بنویسیم که خواهیم داشت:
[tex]T(n)= T(n-3) T(n-2) T(n-1) 1[/tex]
که از راه تقریب می توان گفت که مرتبهی آن نمایی خواهد شد.حدودا [tex]O(3^n)[/tex]
اشتباهی که بسیار رایج نیز می باشد این است که بنویسید:
[tex]T(n)= T(n-3) - T(n-2) T(n-1)[/tex]
بعد معادله مشخصه رو بنویسید.ریشهها برابرند با -۱ و ۱ که -۱ ریشه مضاعف میباشد.در نتیجه بگویید مرتبهی تابع میشه [tex]O(n)[/tex].
[tex]T(n)= T(n-3) T(n-2) T(n-1) 1[/tex]
که از راه تقریب می توان گفت که مرتبهی آن نمایی خواهد شد.حدودا [tex]O(3^n)[/tex]
اشتباهی که بسیار رایج نیز می باشد این است که بنویسید:
[tex]T(n)= T(n-3) - T(n-2) T(n-1)[/tex]
بعد معادله مشخصه رو بنویسید.ریشهها برابرند با -۱ و ۱ که -۱ ریشه مضاعف میباشد.در نتیجه بگویید مرتبهی تابع میشه [tex]O(n)[/tex].
ارسال: #۳
  
RE: بدست آوردن مرتبه این تابع بازگشتی...؟
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close