एक algorithm एक सीमित, स्पष्ट रूपमा परिभाषित कदमहरूको क्रम हो जसले input लाई वांछित output मा रूपान्तरित गर्छ। हामी यसलाई दुई अक्षमा मूल्यांकन गर्छौं: correctness (के यसले सधैं सही उत्तर दिन्छ?) र efficiency (यसले कति समय र मेमोरी प्रयोग गर्छ?)।
विचार
एक मान्य algorithm unambiguous (प्रत्येक कदम स्पष्ट हुनुपर्छ), finite (यो समाप्त हुनुपर्छ), र प्रत्येक मान्य input को लागि correct परिणाम उत्पादन गर्नुपर्छ।
