Содержание
- 2. АЛГОРИТМИЧЕСКАЯ СЛОЖНОСТЬ связана с тем, насколько быстро или медленно работает конкретный алгоритм. Мы определяем сложность как
- 3. АСИМПТОТИЧЕСКИЕ ОБОЗНАЧЕНИЯ Целью вычислительной сложности является классификация алгоритмов в соответствии с их производительностью. Мы представим функцию
- 4. ОПРЕДЕЛЕНИЕ "BIG O" Для любых монотонных функций f(n) и g(n) от целых положительных чисел до целых
- 5. ГРАФИЧЕСКОЕ ПРЕДСТАВЛЕНИЕ ОТНОШЕНИЯ F(N) = O(G(N)):
- 6. ПРИМЕРЫ: "big-O" нотация не симметрична: n = O(n2) но n2 ≠ O(n).
- 7. ПОСТОЯННОЕ ВРЕМЯ: O(1) Говорят, что алгоритм работает за постоянное время, если ему требуется одинаковое количество времени
- 8. ЛИНЕЙНОЕ ВРЕМЯ: O(N) Говорят, что алгоритм работает за линейное время, если его выполнение по времени прямо
- 9. ЛОГАРИФМИЧЕСКОЕ ВРЕМЯ: O(LOG N) Говорят, что алгоритм работает за логарифмическое время, если его время выполнения пропорционально
- 10. КВАДРАТИЧНОЕ ВРЕМЯ: O(N*N) Говорят, что алгоритм работает за квадратичное время, если его время выполнения пропорционально квадрату
- 11. ОПРЕДЕЛЕНИЕ ПОНЯТИЯ "BIG OMEGA" Нам нужны обозначения для нижней границы. В этом случае используется заглавная omega
- 12. ОПРЕДЕЛЕНИЕ ПОНЯТИЯ "BIG THETA" Чтобы измерить сложность конкретного алгоритма, нужно найти верхнюю и нижнюю границы. В
- 13. АНАЛИЗ АЛГОРИТМОВ Наихудшая сложность алгоритма во время выполнения - это функция, определяемая максимальным количеством шагов, сделанных
- 15. Скачать презентацию