Содержание
- 2. Обучение в университете
- 3. Оценки прошлого потока
- 4. Мем в начале
- 5. Содержание лекции Оценка эффективности алгоритмов Временная сложность Пространственная сложность Примеры
- 6. Оценка эффективности алгоритмов Время выполнения (execution time) – временная эффективность Объем потребляемой памяти (memory consumption) –
- 7. Факторы, влияющие на время выполнения Размер входных данных Качество реализации алгоритма на языке программирования Качество скомпилированного
- 8. Анализ времени выполнения алгоритмов
- 9. «Элементарные» операции Присваивание значения переменной Вызов функции Арифметические операции Сравнение двух значений Обращение по индексу Возвращение
- 10. Пример
- 11. Сложность алгоритма
- 12. Асимптотический анализ сложности алгоритмов
- 13. Асимптотический анализ сложности алгоритмов
- 14. Асимптотический анализ сложности алгоритмов Для алгоритмов обычно оценивают количество операций для следующих случаев: худший случай (worst
- 15. О-обозначения
- 16. Ω-обозначения
- 17. Θ-обозначения
- 18. Примеры
- 19. Свойства
- 20. Пример void ExampleFunc(const vector & items) { cout int middle_index = items.size() / 2; int index
- 21. Пример void ExampleFunc(const vector & numbers) { cout for (int number : numbers) { cout }
- 22. Классы сложности O(n)
- 23. Графическое представление
- 24. Наглядно Big-O Algorithm Complexity Cheat Sheet (Know Thy Complexities!)
- 25. Пространственная сложность void bubble_sort(int k, int x[max]) { int i, j, temp; for(i=0; i for(j=0; j
- 26. Пример: двоичный поиск int BSRec(int arr[], int l, int r, int x) { if (r >=
- 27. Пример: двоичный поиск
- 28. Пример: двоичный поиск
- 29. Пример: быстрая сортировка
- 30. Сравнение алгоритмов сортировки
- 31. Пример вопроса на экзамене
- 32. Пример задачи на экзамене Дополнительное условие: привести расчет временной и пространственной сложности реализованного алгоритма
- 33. Экзамен Тест 20 вопросов с вариантами ответов 20 минут 1 попытка (естественно! ☺) Максимальная оценка –
- 35. Скачать презентацию