زمان اجرای الگوریتم: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
Rezabot (بحث | مشارکت‌ها)
جز +{{ویکی‌سازی}}+املا+مرتب+تمیز (۴،۸)
خط ۲:
این متن اصلی مقاله‌است که از کتاب خاصی<ref>بابا محمودی، طلایی پویندگان دانشگاه تحلیل و طراحی الگوریتم ها، 115-150. [=صفحات کتاب]</ref> و کتاب دیگری<ref>احمدی، فایل در فایل. </ref> و یک پانویس هم دارد *<ref>این یک پانویس توضیحی‌است. </ref>
== زمان اجرای الگوریتم ==
زمان اجرای یک الگوریتم از مسائل مهم [[طراحی الگوریتم]] می باشد و غالباً کارایی الگوریتم ها را از روی زمان اجرای آنها بررسی می شود.همان طور که می دانیم الگوریتم عبارتست از : مجموعه ای از دستورات و دستورالعمل ها برای [[حل مسئله]] که شرایط زیر را باید دارا باشد:
* دقیق باشد
* مراحل ان به ترتیب اجرا شود
خط ۱۴:
* پارامترهای دیگر که تاثیر ثابت در زمان اجرا دارند.
 
از این عوامل سرعت سخت افزار و نوع کامپایلر به صورت ثابت در زمان اجرای برنامه ها دخیل هستند.پارامتر مهم [[پیچیدگی زمانی]] الگوریتم است که خود تابعی از اندازه مسئله می باشد.ترکیب داده های ورودی نیز با بررسی الگوریتم در شرایط مختلف قابل اندازه گیری می باشد.در ادامه سعی در بررسی پیچیدگی زمانی الگوریتم خواهیم داشت.
برای بررسی الگوریتم تابعی به نام (T(n که تابع زمانی الگوریتم نامیده میشود در نظر می گیریم که در آن n اندازه ورودی مسئله است.مسئله ممکن است شامل چند ورودی باشد.به عنوان مثال اگر ورودی یک گراف باشد علاوه بر تعداد راس ها(n) تعداد یال ها (m)هم یکی از مشخصه های داده ورودی می باشد.در این صورت زمان اجرای الگوریتم را با (T(n,m نمایش می دهیم. در صورتی که تعداد پارامترها بیشتر باشند آن هایی که اهمیت بیشتری در زمان اجرا دارند را در محاسبات وارد می کنیم و از بقیه صرف نظر می کنیم.{{سخ}}
 
خط ۲۲:
* زمان مربوط به تکرار تعدادی دستور یا دستورالعمل
* زمان مربوط به توابع بازگشتی
از موارد ذکر شده در محاسبه (T(n یک الگوریتم محاسبه تعداد تکرار عملیات و [[توابع بازگشتی]] اهمیت ویژه ای دارند و کا پیچیدگی زمانی مربوط به این دو می باشد.{{سخ}}
 
مثال:تعداد کل مراحل برنامه زیر را محاسبه کنید.
خط ۹۱:
[[رده:تحلیل الگوریتم‌ها]]
[[رده:نظریه پیچیدگی محاسباتی]]
[[رده:ویکی‌سازی رباتیک]]