(۰۴ اسفند ۱۳۹۵ ۰۱:۰۸ ب.ظ)alimamala نوشته شده توسط: با عرض سلام
دوستا من مسدله ی زیر رو از طریق قضیه ی اصلی می رم و جواب رو گزینه ی ۲ بدست می آرم، ولی مدرسان می گه گزینه ی ۱ درسته. چرا ؟
نکته این تست اینکه باید بین کد بازگشتی و رابطه زمان اجرای ان یعنی
T(n) تفاوت قائل بشیم .باید ببینیم که تابع بازگشتی کد با چه مقداری هر بار فراخوانی میشه(که اینجا با نصف ورودی قبلیش) و هزینه اجرای هر بار فراخوانی چقدر است که در اینجا یه تست if داریم با هزینه
O(1) ,و یه عمل جمع داریم با هزینه
O(1) یعنی
T(n)=T(n2)+O(1)
که مرتبش لگاریتمیه. دوباره میگم اینجا رابطه بازگشتی زمان اجرا داده نشده بلکه یک کد بازگشتی داده شده که باید رابطه بازگشتی زمان اجرای ان را بدست اوریم