به طور کلی جهت ارائهی یک الگوریتم کامل به 3 مولفهی اصلی احتیاج داریم که عبارتند از:
اطلاعات اولیهای که در اختیار ما قرار میگیرد و با استفاده از آنها به ارائهی راه حل میپردازیم شامل مقادیر معلوم مسأله هستند و نتایجی که بر اثر انجام عملیات محاسباتی بهدست میآیند خواستههای مسأله نامیده میشوند.