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

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