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

مرتبه الگوریتم - hamed_k2 - 16 آبان ۱۳۹۰ ۰۹:۴۸ ب.ظ

کسی میتونه سئوال به این اسانی رو حل کنه؟
الگوریتمی برای محاسبه‌ی ۳ به توان n به ۵ روش بنویسید؟
۱):تتا(N) به روش بازگشتی
۲):تتا(N) به روش غیر بازگشتی
۳):تتا(n به توان ۳)
۴):تتا(۲ به توان N)
۵):تتا (۵n)
۲ و ۵ رو نوشتم سه تای دیگر رو اگه کسی میتونه کمک کنه
من تازه این ترم طراحی الگوریتم میخونم و اوایل ترم زیاد از طراحی هنوز یاد نگرفتمHuh

مرتبه الگوریتم - hamed_k2 - 19 آبان ۱۳۹۰ ۰۶:۴۷ ب.ظ

ای کسی که میای پست رو انتقال میدی لااقل یه جوابی هم بده بعدش انتقال بده.
کسی نیست جواب بده

مرتبه الگوریتم - fatima1537 - 30 آبان ۱۳۹۰ ۰۵:۲۰ ب.ظ

متوجه منظور سئوال نشدم
چون نوشتید الگوریتمی برای محاسبه ۳ به توان n ولی در گزینه های۳و۴و۵ چیز دیگه ای نوشته شده
منظورتون محاسبه مرتبه اجرایی هرکدوم از سئوالات ۱ تا ۵ هست؟

RE: مرتبه الگوریتم - variant20002000 - 30 آبان ۱۳۹۰ ۱۱:۰۸ ب.ظ

(۱۶ آبان ۱۳۹۰ ۰۹:۴۸ ب.ظ)hamed_k2 نوشته شده توسط:  کسی میتونه سئوال به این اسانی رو حل کنه؟
الگوریتمی برای محاسبه‌ی ۳ به توان n به ۵ روش بنویسید؟
۱):تتا(N) به روش بازگشتی
۲):تتا(N) به روش غیر بازگشتی
۳):تتا(n به توان ۳)
۴):تتا(۲ به توان N)
۵):تتا (۵n)
۲ و ۵ رو نوشتم سه تای دیگر رو اگه کسی میتونه کمک کنه
من تازه این ترم طراحی الگوریتم میخونم و اوایل ترم زیاد از طراحی هنوز یاد نگرفتمHuh

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


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

۴--- ino felan bayad fek konam Big Grin
yejoori bayad bevenisi ke pichidegie tabe bazgashtish beshe 2f(n-1)Wink


مرتبه الگوریتم - انرژی مثبت - ۳۰ آبان ۱۳۹۰ ۱۱:۴۸ ب.ظ

لطف کنید فارسی بنویسید ممنون

مرتبه الگوریتم - fatima1537 - 01 آذر ۱۳۹۰ ۱۲:۵۷ ق.ظ

من هم روش حل رو نوشته بودم بعد پاکش کردم چون فکر میکردم مرتبه زمانی رو میخوان

مرتبه زمانی مسئله اول میشه N
ومسئله ۳ میشه ۱ و مسئله ۴ برابر n


(۳۰ آبان ۱۳۹۰ ۱۱:۰۸ ب.ظ)variant20002000 نوشته شده توسط:  ۳------------------
long int counter=0;
for(int i=1 to n)
for (int j=1 to n)
for (int k=1 to n)
counter++;
این روش چطوره به نظرتون؟درسته؟:
حل ۳:
Int Function n_3(int n)
p=1
for (i=1;i<=3;i++)
{
p=n*p
return(p)
{
حل ۴:
int function 2_n(int n)
{p=1
for(i=1;i<=n;i++)
p=2*p
return(p)
}

مرتبه الگوریتم - fatima1537 - 01 آذر ۱۳۹۰ ۱۰:۳۴ ب.ظ

نمیدونم hamed_k2 جوابشون رو گرفتند یا نه؟

مرتبه الگوریتم - variant20002000 - 03 آذر ۱۳۹۰ ۱۲:۴۰ ق.ظ

خانم فاطیما من فکر میکنم منظورشون از این سوال نوشتن این برنامه با پیچیدگی های مختلف بود. الگوریتم هایی هم که نوشتید جالب بود Big Grin ولی توی الگوریتم اولتون باید p=1 قبل از for باشه و return هم بعد از for باشه. این الگریتم پیچیدگیش ثابته ... الگوریتم دومتون هم پیچیدگیش n هست که ۲ به توان n رو برمیگردونه....! فکر نمیکنم منظور حامد خان این بوده باشه.
به هر حال مرسی الگوریتماتون قشنگ بود.
در مورد الگوریتم ۴ که باید ۲ به توان n باشه باید بگم که اولن این تابع باید برگشتی باشه و دوما به فرم ۲f(n-1)l باشه
من اینو نوشتم امیدوارم درست باشه و حامد خان به نتیجه برسه از این پست
int f(n)
{
if(n==0)return 1;

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



"انرژی مثبت" جان چشم فارسی مینویسم....! Big Grin

مرتبه الگوریتم - fatima1537 - 04 آذر ۱۳۹۰ ۱۲:۲۸ ق.ظ

درسته p=1باید خارج forباشه.اشتباه از بی دقتی بود.درست شد. اطلاعات صورت مسئله کامل نبود والا بهتر میشد جواب داد حالا چرا "خنده زیاد"! کردید به الگوریتم های من؟Smile

مرتبه الگوریتم - hamed_k2 - 10 آذر ۱۳۹۰ ۰۲:۳۳ ق.ظ

دوستان خیلی ممنون از همه‌ی شما تشکر ویژه منم دیگه خودم به کمک استاد نوشتم که شامل موارد زیر می باشد نوشتم شاید به درد دوستان بخوره:
۱- long pow (int n)
}
long a = 1
int;
for(i=1 ; i<=n; i++)
a*=3
return(a)
{
۲-long pwr (int n)
}
if(n==0)
return 1;
else
return (3*pwr(n-1));
{
۳-
long pwr(int n)
}
if (n==0)
return 1;
else
return(pwr(n-1) + pwr(n-1) + pwr(n-1));
}
۴-
long pwr (int n )
}
if (n==0)
return 1;
else
return (pwr(n-1) + 2*pwr(n-1)
۵-
این حالت الگوریتم بهترین حالت می باشد که مرتبه زمانیش 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;
}
در کل منظور و هدف از این سئوال نوشتن الگوریتم برای محاسبه ۳ به توان n که دارای ۵ پیچیدگی زمانی مختلف که از نوع تتا های مختلف باشد پیچیدگی زمانی هر یک از الگوریتم های فوق هم حل شده که دیگه نشد بنویسم