Первым делом, приступая к решению новой задачи, всегда старайтесь найти готовый алгоритм или метод.
не найдете подходящий алгоритм сортировки с временной сложностью O(n log n) и пространственной сложностью O(1). Ограниченность памяти компьютера иногда вынуждает искать компромисс. В случае если доступно мало памяти, вам, вероятно, потребуется медленный алгоритм с временной сложностью, потому что он имеет пространственную сложность O(1).
Квадратные уравнения так же важны для программиста, как мультиварка — для повара. Они экономят время.
Информатика не более наука о компьютерах, чем астрономия — наука о телескопах. Информатика неразрывно связана с математикой.
Эдсгер Дейкстра
Правило де Моргана11. Одновременно лета и зимы не бывает, поэтому у нас либо не лето, либо не зима. С другой стороны, оба выражения «не лето» и «не зима» истинны, если (и только) у нас не тот случай, когда либо лето, либо зима. Согласно этой логике, выполнение операций AND может быть сведено к операциям OR и наоборот:
!(A AND B) = !A OR ! B;
!A AND !B = !(A OR B).
Эти правила позволяют преобразовывать логические модели, раскрывать их свойства и упрощать выражения. Давайте решим задачу.
3.4. Поиск (перебор) с возвратом
Есть еще более бесполезные алгоритмы. Речь идет об алгоритмах с факториальным временем, сложность которых составляет O(n!).
2.1. Оценка затрат времени