مرتبه زمانی ؟ - نسخهی قابل چاپ |
مرتبه زمانی ؟ - reza.bsh - 18 آذر ۱۳۹۴ ۱۰:۰۹ ب.ظ
مرتبه زمانی زیر چی میشه؟ چه راهی برای حلش دارین؟ [tex]T(n)=T(\log n) 1[/tex] |
RE: مرتبه زمانی ؟ - sixsixsix - 18 آذر ۱۳۹۴ ۱۰:۱۶ ب.ظ
(۱۸ آذر ۱۳۹۴ ۱۰:۰۹ ب.ظ)reza.bsh نوشته شده توسط: مرتبه زمانی زیر چی میشه؟ با جایگذاری خیلی راحت میشه log *n |
RE: مرتبه زمانی ؟ - reza.bsh - 18 آذر ۱۳۹۴ ۱۰:۵۶ ب.ظ
(۱۸ آذر ۱۳۹۴ ۱۰:۱۶ ب.ظ)sixsixsix نوشته شده توسط:(18 آذر ۱۳۹۴ ۱۰:۰۹ ب.ظ)reza.bsh نوشته شده توسط: مرتبه زمانی زیر چی میشه؟ log*n یعنی چی؟یعنی loglogn؟ آخه اینجور چیزی من تاحالا ندیدم. ممنون |
RE: مرتبه زمانی ؟ - g.norozi - 19 آذر ۱۳۹۴ ۱۲:۳۵ ق.ظ
(۱۸ آذر ۱۳۹۴ ۱۰:۵۶ ب.ظ)reza.bsh نوشته شده توسط:(18 آذر ۱۳۹۴ ۱۰:۱۶ ب.ظ)sixsixsix نوشته شده توسط:(18 آذر ۱۳۹۴ ۱۰:۰۹ ب.ظ)reza.bsh نوشته شده توسط: مرتبه زمانی زیر چی میشه؟ Log*n در واقع مساوی با چند بار از n باید log گرفت تا مساوی ۱ یا کمتر از یک بشه.... logloglogloglog......n که در واقع این رابطه بازگشتی هم همین رو میگه که از روش جایگذاری خیلی راحت اثبات میشه... |
RE: مرتبه زمانی ؟ - reza.bsh - 19 آذر ۱۳۹۴ ۰۸:۴۰ ب.ظ
(۱۹ آذر ۱۳۹۴ ۱۲:۳۵ ق.ظ)g.norozi نوشته شده توسط:(18 آذر ۱۳۹۴ ۱۰:۵۶ ب.ظ)reza.bsh نوشته شده توسط:(18 آذر ۱۳۹۴ ۱۰:۱۶ ب.ظ)sixsixsix نوشته شده توسط:(18 آذر ۱۳۹۴ ۱۰:۰۹ ب.ظ)reza.bsh نوشته شده توسط: مرتبه زمانی زیر چی میشه؟ ممنون از شما. ولی خب نکته مهم اینه که این چند بار لگاریتم گرفتن دقیقا مرتبه زمانیش چنده؟یعنی چند بار باید از n لگاریتم گرفت تا به ۱ رسید؟ چون log*n فقط میگه که باید به یک تعدادی لگاریتم گرفت ولی نمیگه که این تعداد دقیقا چند تاست. فکر میکنم برای حل اون رابطه بازگشتی باید اول این تعدادو بدست آورد. |
RE: مرتبه زمانی ؟ - g.norozi - 21 آذر ۱۳۹۴ ۱۱:۱۵ ب.ظ
سلام نگاه کن اصلا مهم نیست که شما پیدا کنی چند بار باید log بگیری...چون معمولا توی روابط بازگشتی به ما یک نقطه پایان میدن مثلا توی این سوال T(1)=1 معنی خوبی میده .... یعنی شما توی روش جایگذاری اونقدر جایگذاری میکنی که مثلا به یک ۲ به توان k برسی ...که اون ۲ به توان k رو میذاری ۱ ....معادله حل شد..نمیدونم چه قدر تونستم منظورمو برسونم...توی حل روابط بازگشتی همیشه یک نقطه پایان میده... |
RE: مرتبه زمانی ؟ - reza.bsh - 22 آذر ۱۳۹۴ ۱۲:۴۶ ق.ظ
(۲۱ آذر ۱۳۹۴ ۱۱:۱۵ ب.ظ)g.norozi نوشته شده توسط: سلام نگاه کن اصلا مهم نیست که شما پیدا کنی چند بار باید log بگیری...چون معمولا توی روابط بازگشتی به ما یک نقطه پایان میدن مثلا توی این سوال T(1)=1 معنی خوبی میده .... یعنی شما توی روش جایگذاری اونقدر جایگذاری میکنی که مثلا به یک ۲ به توان k برسی ...که اون ۲ به توان k رو میذاری ۱ ....معادله حل شد..نمیدونم چه قدر تونستم منظورمو برسونم...توی حل روابط بازگشتی همیشه یک نقطه پایان میده... ممنون که جواب دادی T(n)=T(logn)+1 برای اینکه ما تعداد صدا زدن های این تابع بازگشتی(مرتبه زمانی) رو بدست بیاریم باید بدونیم که t(n بعد از چند بار لگاریتم گرفتن به ۱ میرسه.درسته؟ log*n که شما گفتین برابر میشه با logloglog....logn در نهایت مقدار ۱ رو به ما میده که همون نقطه پایانه و ربطی به مرتبه زمانی نداره. مثلا در تابع بازگشتی زیر T(n)=T(n-1)+1 ما میدونیم که t(n بعد از n بار به ۰ میرسه.درنتیجه مرتبه زمانیش n میشه. ولی حالا اگه جایگذاری کنم در نهایت به n-1-1-1-1...-1=0 میرسم که فقط نقطه پایانی رو به من میده.ولی چون من میدونم که این جایگذاری بعد ازn بار تموم میشه و به نقطه پایان میرسم،میتونم بفهمم که این تابع از مرتبه n است. در مورد تابع باز گشتی T(n)=T(logn)+1 نیز ما باید بدونیم که دقیقا بعد از چند بار لگاریتم گرفتن به نقطه پایانی میرسیم.در حالی که log*n این مهمو به ما نمیده ،و فقط خود نقطه پایانی رو به ما میده(که همون ۱میشه). |