在理论计算机科学中，算法的正确性（英语：correctness）是指一个算法在程序规范下被认定为正确的判定。其中，"功能"正确（英语：functional correctness）针对输入输出的行为（例如：对每一个输入，算法都能给出预期的输出）。人们将正确性分为两类。一类被称为部分正确性（英语：partial correctness），它要求在算法返回结果时这一结果是正确的；另一类被称为完全正确性（英语：total correctness），它在部分正确性的基础之上还要求算法必须能够结束。由于对于停机问