ਇੱਕ algorithm ਕਦਮਾਂ ਦਾ ਇੱਕ ਸੀਮਤ, ਚੰਗੀ ਤਰ੍ਹਾਂ ਪਰਿਭਾਸ਼ਿਤ ਕ੍ਰਮ ਹੈ ਜੋ input ਨੂੰ ਲੋੜੀਂਦੇ output ਵਿੱਚ ਤਬਦੀਲ ਕਰਦਾ ਹੈ। ਅਸੀਂ ਇਸਦਾ ਦੋ ਧੁਰਿਆਂ ਉੱਤੇ ਮੁਲਾਂਕਣ ਕਰਦੇ ਹਾਂ: correctness (ਕੀ ਇਹ ਹਮੇਸ਼ਾ ਸਹੀ ਜਵਾਬ ਦਿੰਦਾ ਹੈ?) ਅਤੇ efficiency (ਇਹ ਕਿੰਨਾ ਸਮਾਂ ਅਤੇ ਮੈਮੋਰੀ ਵਰਤਦਾ ਹੈ?)।
ਵਿਚਾਰ
ਇੱਕ ਵੈਧ algorithm unambiguous (ਹਰੇਕ ਕਦਮ ਸਪਸ਼ਟ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ), finite (ਇਹ ਖਤਮ ਹੋ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ), ਅਤੇ ਹਰ ਵੈਧ input ਲਈ correct ਨਤੀਜਾ ਪੈਦਾ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
