تابع perm یا جایگشت و زمان اجرای آن - نسخهی قابل چاپ |
تابع perm یا جایگشت و زمان اجرای آن - g_monireh - 30 اردیبهشت ۱۳۹۲ ۰۵:۵۶ ب.ظ
[attachment=11245]سلام اگر امکان داره یه توضیح در مورد تابع perm که جایگشت رو پیاده سازی می کنه و همچنین زمان اجراش بهم بدید. این تابع مربوط به کتاب پوران صفحه ۲۴ هست. زمان اجرا رو ((n(n!) تتا بدست اورده. |
RE: تابع perm یا جایگشت و زمان اجرای آن - sanjana - 08 مرداد ۱۳۹۲ ۰۳:۲۴ ب.ظ
(۳۰ اردیبهشت ۱۳۹۲ ۰۵:۵۶ ب.ظ)g_monireh نوشته شده توسط: سلامخوب خیلی ساده برات میگم! اصلا نمیخواد رو کد عمیق زوم کنی! نگاه! کد به ۲ بخش تقسیم میشه: ۱) اون قسمتی که قرار هست برای ما روال تولید جایگشت رو انجام بده و ۲) قسمتی که قرار هست توی هر بار جایگشت برای ما یه سری کاراکتر چاپ کنه. خوب می دونیم که تعداد جایگشت های n شی متمایز برابر !n است. پس ما !n بار قسمت تولید جایگشت رو تکرار می کنیم.بعدش توی هر بار تکرار n کاراکتر چاپ می کنیم.پس میشه از مرتبه زمانی [tex]O(n * n!)[/tex] اما در رابطه با علامت [tex]\Theta[/tex]: فکر کنم بخاطر stable بودن الگوریتم باشه که توش حالت های بهترین ، بدترین و میانگین یک جواب داره.(اگه اشتباه می کنم دوستان اصلاح کنن).دوست عزیز دیگه نمی دونم تا چه حد تونستم برات مفید توضیح بدم. |