تالار گفتمان مانشت

نسخه‌ی کامل: مرتبه الگوریتم
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
کسی میتونه سئوال به این اسانی رو حل کنه؟
الگوریتمی برای محاسبه‌ی 3 به توان n به 5 روش بنویسید؟
1):تتا(N) به روش بازگشتی
2):تتا(N) به روش غیر بازگشتی
3):تتا(n به توان 3)
4):تتا(2 به توان N)
5):تتا (5n)
2 و 5 رو نوشتم سه تای دیگر رو اگه کسی میتونه کمک کنه
من تازه این ترم طراحی الگوریتم میخونم و اوایل ترم زیاد از طراحی هنوز یاد نگرفتمHuh
ای کسی که میای پست رو انتقال میدی لااقل یه جوابی هم بده بعدش انتقال بده.
کسی نیست جواب بده
متوجه منظور سئوال نشدم
چون نوشتید الگوریتمی برای محاسبه 3 به توان n ولی در گزینه های3و4و5 چیز دیگه ای نوشته شده
منظورتون محاسبه مرتبه اجرایی هرکدوم از سئوالات 1 تا 5 هست؟
(16 آبان 1390 09:48 ب.ظ)hamed_k2 نوشته شده توسط: [ -> ]کسی میتونه سئوال به این اسانی رو حل کنه؟
الگوریتمی برای محاسبه‌ی ۳ به توان n به ۵ روش بنویسید؟
۱):تتا(N) به روش بازگشتی
۲):تتا(N) به روش غیر بازگشتی
۳):تتا(n به توان ۳)
۴):تتا(۲ به توان N)
۵):تتا (۵n)
۲ و ۵ رو نوشتم سه تای دیگر رو اگه کسی میتونه کمک کنه
من تازه این ترم طراحی الگوریتم میخونم و اوایل ترم زیاد از طراحی هنوز یاد نگرفتمHuh

int f(n) {
if(n==0) return 1;
return 3f(n-1);
}


3------------------
long int counter=0;
for(int i=1 to n)
for (int j=1 to n)
for (int k=1 to n)
counter++;

4--- ino felan bayad fek konam Big Grin
yejoori bayad bevenisi ke pichidegie tabe bazgashtish beshe 2f(n-1)Wink
لطف کنید فارسی بنویسید ممنون
من هم روش حل رو نوشته بودم بعد پاکش کردم چون فکر میکردم مرتبه زمانی رو میخوان

مرتبه زمانی مسئله اول میشه N
ومسئله 3 میشه 1 و مسئله 4 برابر n


(30 آبان 1390 11:08 ب.ظ)variant20002000 نوشته شده توسط: [ -> ]۳------------------
long int counter=0;
for(int i=1 to n)
for (int j=1 to n)
for (int k=1 to n)
counter++;
این روش چطوره به نظرتون؟درسته؟:
حل 3:
Int Function n_3(int n)
p=1
for (i=1;i<=3;i++)
{
p=n*p
return(p)
{
حل 4:
int function 2_n(int n)
{p=1
for(i=1;i<=n;i++)
p=2*p
return(p)
}
نمیدونم hamed_k2 جوابشون رو گرفتند یا نه؟
خانم فاطیما من فکر میکنم منظورشون از این سوال نوشتن این برنامه با پیچیدگی های مختلف بود. الگوریتم هایی هم که نوشتید جالب بود Big Grin ولی توی الگوریتم اولتون باید p=1 قبل از for باشه و return هم بعد از for باشه. این الگریتم پیچیدگیش ثابته ... الگوریتم دومتون هم پیچیدگیش n هست که 2 به توان n رو برمیگردونه....! فکر نمیکنم منظور حامد خان این بوده باشه.
به هر حال مرسی الگوریتماتون قشنگ بود.
در مورد الگوریتم 4 که باید 2 به توان n باشه باید بگم که اولن این تابع باید برگشتی باشه و دوما به فرم 2f(n-1)l باشه
من اینو نوشتم امیدوارم درست باشه و حامد خان به نتیجه برسه از این پست
int f(n)
{
if(n==0)return 1;

return 1.5f(n-1);
return 1.5f(n-1);
}



"انرژی مثبت" جان چشم فارسی مینویسم....! Big Grin
درسته p=1باید خارج forباشه.اشتباه از بی دقتی بود.درست شد. اطلاعات صورت مسئله کامل نبود والا بهتر میشد جواب داد حالا چرا "خنده زیاد"! کردید به الگوریتم های من؟Smile
دوستان خیلی ممنون از همه‌ی شما تشکر ویژه منم دیگه خودم به کمک استاد نوشتم که شامل موارد زیر می باشد نوشتم شاید به درد دوستان بخوره:
1- long pow (int n)
}
long a = 1
int;
for(i=1 ; i<=n; i++)
a*=3
return(a)
{
2-long pwr (int n)
}
if(n==0)
return 1;
else
return (3*pwr(n-1));
{
3-
long pwr(int n)
}
if (n==0)
return 1;
else
return(pwr(n-1) + pwr(n-1) + pwr(n-1));
}
4-
long pwr (int n )
}
if (n==0)
return 1;
else
return (pwr(n-1) + 2*pwr(n-1)
5-
این حالت الگوریتم بهترین حالت می باشد که مرتبه زمانیش log n

long optpow(int n )
}
lon q;
if(n==0)
q=1;
else}
q=optpow(n/2);
q*=q
if(n%2==1)
q*=3;
}
return q;
}
در کل منظور و هدف از این سئوال نوشتن الگوریتم برای محاسبه 3 به توان n که دارای 5 پیچیدگی زمانی مختلف که از نوع تتا های مختلف باشد پیچیدگی زمانی هر یک از الگوریتم های فوق هم حل شده که دیگه نشد بنویسم
لینک مرجع