873 читали · 2 года назад
Что такое P и NP
Поговорим о сложности. Немного вышедшая из моды тема "P vs NP ". О чем же идет речь? Многие задачи сводятся к перебору на конечном множестве. Скажем, поиск или сортировка. И разные алгоритмы имеют различную сложность, то есть число операций из заданного набора допустимых операций. Например, команд процессора или (в случае сортировки) сравнений. Вот есть сортировка методом пузырька: каждый элемент сравнивается с соседними и меняется с ними местами, если надо. Как бы всплывает. А есть более эффективные алгоритмы, например QuickSort...
2 месяца назад
Полиномиальное и экспоненциальное время выполнения алгоритма. В чем разница.
Графики роста скорости сложности задач. n - количество задач По оси ординат (y) количество вычислений. Формулы кликабельны 👇 f(n) = n f(n) = n^2 f(n) = log n Экспоненциальное время — время выполнения алгоритма, которое растёт экспоненциально в зависимости от размера входных данных. Если время выполнения можно выразить как (O(k^n)), где (n) — размер входных данных, а (k) — константа, то такой алгоритм работает за экспоненциальное время.Примеры: Задача коммивояжёра: Решение методом полного перебора всех возможных маршрутов требует (O(n!)) времени, что хуже экспоненциального...