الگوریتم ها یک سری ویژگی هایی باید داشته باشند که شامل: ورودی، خروجی، قطعیت و کامل بودن هستند.