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