الگوریتم چیست؟
در ابتدای کار نیازه که یه ریشه یابی بکنیم از کلمه الگوریتم که ببینیم از کجا اومده و بعدش یه تعریف ازش داشته باشیم.
کلمه الگوریتم از نام دانشمند نامی ایرانی، ابوجعفر محمد بن موسی خوارزمی (الخوارزمی)، گرفته شده که در خوارزم متولد شد (در حال حاضر این شهر توی ازبکستان قرار داره). این کلمه در ابتدا الخوارزم بوده ولی در اثر عواملی (گذشت زمان، ترجمه و ...) تبدیل به الگوریتم شده . پس تا اینجا میدونیم که ریشه این نام و این علم ایرانیه. (به خودتون افتخار کنید)
الگوریتم دقیقا چیه؟
به مجموعهای متناهی از دستورالعملها می گویند که به ترتیب خاصی اجرا میشوند و مسئلهای را با بیان جزئیات کافی، حل میکنند.
خصوصیات یک الگوریتم چیست؟
خب هر الگوریتم یک ورودی داره ، خروچی داره ، قطعیت داره و در نهایت محدودیت داره. خب حالا اینا یعنی چی؟
ورودی و خروجی:
تکلیف این دوتا که مشخصه هر الگوریتم یک سری ورودی میگیره و یک یا چند خروجی تولید میکنه.
قطعیت :
هر الگوریتم باید بدون پیچیدگی باشه و کاملا بدون ابهام و ساده باشه. در ضمن باید هر دستور الگوریتم قابل انجام باشه. مثلا نمیتونی بگی متغیر
رو تقسیم بر صفر کن!!!!
محدودیت:
یک الگوریتم نمیتونه تا بی نهایت ادامه پیدا کنه پس بنا بر این باید شرط پایان داشته باشه. یعنی برای تمامی حالات بعد از طی مراحل به شرط پایانی مسئله برسیم.
در هر الگوریتم، تحلیل الگوریتم مهمترین و بهترین قسمت اون به شمار میره.
تحلیل الگوریتم به معنای پیش بینی منابع مثل حافظه، پهنایباند ارتباطی، سخت افزار ، و از همه مهمتر، پیچیدگی زمانی اجرای یک الگوریتمه.
همچنین پیچیدگی زمانی یک الگوریتم بر حسب عوامل مختلفی محاسبه میشه که در آینده در این رابطه بیشتر صحبت میکنم. چون خیلی پیچیدست.
فکر می کنم تا اینجا کفایت کنه.