Ви отримуєте абсолютну впевненість, коли перевіряєте правильність алгоритму використовуючи математичний доказ. Якщо такий доказ надається, то не може бути тестових випадків, які не відповідають вказаній поведінці.
Алгоритм повинен давати однаковий результат за однакових умов (рішучість). Наступне правило, яке слід застосовувати в процесі, чітко визначене в будь-який час (детермінізм).
Обмін аргументами Обмін аргументами є потужним і універсальним методом для доведення оптимальності жадібних алгоритмів. Вони працюють, показуючи, що ви можете ітераційно перетворювати будь-яке оптимальне рішення в рішення, отримане за допомогою жадібного алгоритму, не змінюючи вартості оптимального рішення.
Для кожного алгоритму ми повинні довести, що він завжди повертає бажаний результат для всіх можливих випадків проблеми. Під час сортування це означає, що це відбудеться, навіть якщо вхідні дані вже відсортовані або містять повторювані елементи. Шукати контрприклади — найкращий спосіб спростувати істинність деяких речей .
Унікальність: алгоритм не повинен мати суперечливого опису. Це повинно бути зрозуміло. Здійсненність: кожен окремий крок має бути виконуваним.