Инфоурок Информатика ПрезентацииОценка сложности

Оценка сложности

Скачать материал
Скачать материал "Оценка сложности"

Получите профессию

Копирайтер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Методические разработки к Вашему уроку:

Получите новую специальность за 2 месяца

Психолог-перинатолог

Описание презентации по отдельным слайдам:

  • Оценка сложностиОдну и ту же задачу можно решить разными способами
Эквивалент...

    1 слайд

    Оценка сложности
    Одну и ту же задачу можно решить разными способами
    Эквивалентность?
    Сложность
    затрачиваемое время – временная сложность
    необходимая память – ёмкостная сложность
    в худшем случае
    в среднем
    Учёт самых «дорогих» операций
    Необходим анализ алгоритмов

  • Одно умножение на каждой из n+1 итерации цикл for
Глубина рекурсии power равн...

    2 слайд

    Одно умножение на каждой из n+1 итерации цикл for
    Глубина рекурсии power равна n
    i умножений на каждой итерации цикла for
    i фреймов для хранения локальных объектов
    Вычисление полинома
    float poly(float coef[], int n,float x)
    {
    float sum = 0f;
    for (int i=0; i<=n; i++)
    sum += coef[i] * power(i.x);
    return sum;
    }
    float power(int n, float x)
    {
    return n==0 ? 1 : x*power(n-1,x);
    }
    void main()
    {
    float binom[] = {1,2,1};
    printf(“%d”, poly(binom,2,10.0));
    }

  • Пример оптимизацииfloat poly(float coef[], int n, float x){   float sum = 0...

    3 слайд

    Пример оптимизации
    float poly(float coef[], int n, float x)
    {
    float sum = 0f;
    for (int i=0; i<=n; i++)
    sum += coef[i] * power(i,x);
    return sum;
    }
    float power(int n, float x)
    {
    float y = 1;
    while (n) n&1 ? (y*=x,--n) : (x*=x,n/=2);
    return y;
    }
    void main()
    {
    float binom[] = {1,2,1};
    printf(“%d”, poly(binom,2,10.0));
    }
    вместо
    использовать

  • Пример оптимизацииОдно умножение на каждой из n+1 итерации цикл for
Максималь...

    4 слайд

    Пример оптимизации
    Одно умножение на каждой из n+1 итерации цикл for
    Максимальное количество итераций цикла while равно 2*log(n)
    4 * log(i) операций умножения на каждой итерации for
    Память - константа
    float poly(float coef[], int n, float x)
    {
    float sum = 0f;
    for (int i=0; i<=n; i++)
    sum += coef[i] * power(i,x);
    return sum;
    }
    float power(int n, float x)
    {
    float y = 1;
    while (n) n&1 ? (y*=x,--n) : (x*=x,n/=2);
    return y;
    }
    void main()
    {
    float binom[] = {1,2,1};
    printf(“%d”, poly(binom,2,10.0));
    }

  • Пример пессимизации float poly(float coef[], int n, float x){   float sum =...

    5 слайд

    Пример пессимизации
    float poly(float coef[], int n, float x)
    {
    float sum = 0f;
    int i;
    for (i=0; i<=n; i++)
    sum += coef[i] * exp(log(x)*i);
    return sum;
    }
    void main()
    {
    float binom[] = {1,2,1};
    printf(“%d”, poly(binom,2,10));
    }

  • Пример пессимизации Два умножения на каждой итерации for
Неизвестное количест...

    6 слайд

    Пример пессимизации
    Два умножения на каждой итерации for
    Неизвестное количество в exp и log
    Память – константа (скорее всего)
    float poly(float coef[], int n, float x)
    {
    float sum = 0f;
    int i;
    for (i=0; i<=n; i++)
    sum += coef[i] * exp(log(x)*i);
    return sum;
    }
    void main()
    {
    float binom[] = {1,2,1};
    printf(“%d”, poly(binom,2,10));
    }

  • Пример оптимизации На каждой итерации значение power увеличивается в x разflo...

    7 слайд

    Пример оптимизации
    На каждой итерации значение power увеличивается в x раз
    float poly(float coef[], int n, float x)
    {
    float sum = 0f;
    float power;
    int i;
    for (i=0,power=1f; i<=n; power*=x,i++)
    sum += coef[i] * power;
    return sum;
    }
    void main()
    {
    float binom[] = {1,2,1};
    printf(“%d”, poly(binom,2,10));
    }

  • Пример оптимизации Два умножения на каждой итерации for
Память – константаflo...

    8 слайд

    Пример оптимизации
    Два умножения на каждой итерации for
    Память – константа
    float poly(float coef[], int n, float x)
    {
    float sum = 0f;
    float power;
    int i;
    for (i=0,power=1f; i<=n; power*=x,i++)
    sum += coef[i] * power;
    return sum;
    }
    void main()
    {
    float binom[] = {1,2,1};
    printf(“%d”, poly(binom,2,10));
    }

  • Пример оптимизацииfloat poly(float coef[], int n, float x){   float sum = c...

    9 слайд

    Пример оптимизации
    float poly(float coef[], int n, float x)
    {
    float sum = coef[n];
    for (i=n; i>=1; i--)
    sum = sum * x + coef[i];
    return sum;
    }
    void main()
    {
    float binom[] = {1,2,1};
    printf(“%d”, poly(binom,2,10.0));
    }
    Cхема Горнера:
    …((an*10+ an-1)*10 + an-2)*10 + … a0

  • Сравнение реализаций

    10 слайд

    Сравнение реализаций

  • Коварство OФункция g(n) имеет порядок O(f(n)), если существуют C1, C2 такие,...

    11 слайд

    Коварство O
    Функция g(n) имеет порядок O(f(n)), если существуют C1, C2 такие, что
    С1f(n) <= g(n) <= C2f(n)
    почти для всех n
    Сортировка
    «пузырёк» - O(n2)
    слиянием – O(n log(n))
    Кто быстрее?
    Что такое асимптотическое поведение при n<=232 ?

  • Мал оператор, да сложен!Пример:

    12 слайд

    Мал оператор, да сложен!
    Пример:

Получите профессию

HR-менеджер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 663 528 материалов в базе

Скачать материал

Другие материалы

РАБОЧАЯ ПРОГРАММА Учебной дисциплины «ОП.09 Информационные технологии в профессиональной деятельности»
  • Учебник: «Информатика (базовый уровень)», Семакин И.Г., Хеннер Е.К., Шеина Т.Ю.
  • Тема: Глава 1. Информационные системы и базы данных
  • 02.01.2021
  • 593
  • 8
«Информатика (базовый уровень)», Семакин И.Г., Хеннер Е.К., Шеина Т.Ю.

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 18.09.2020 108
    • PPTX 73 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Премудрова Ирина Владимировна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Премудрова Ирина Владимировна
    Премудрова Ирина Владимировна
    • На сайте: 3 года и 4 месяца
    • Подписчики: 0
    • Всего просмотров: 86018
    • Всего материалов: 228

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Копирайтер

Копирайтер

500/1000 ч.

Подать заявку О курсе

Курс повышения квалификации

Специфика преподавания информатики в начальных классах с учетом ФГОС НОО

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Сейчас обучается 39 человек из 20 регионов
  • Этот курс уже прошли 284 человека

Курс профессиональной переподготовки

Математика и информатика: теория и методика преподавания в образовательной организации

Учитель математики и информатики

500/1000 ч.

от 8900 руб. от 4150 руб.
Подать заявку О курсе
  • Сейчас обучается 685 человек из 79 регионов
  • Этот курс уже прошли 1 808 человек

Курс профессиональной переподготовки

Информатика: теория и методика преподавания в профессиональном образовании

Преподаватель информатики

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 49 человек из 21 региона
  • Этот курс уже прошли 151 человек

Мини-курс

Этапы развития речи: от первых звуков до полноценной коммуникации

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 161 человек из 50 регионов
  • Этот курс уже прошли 144 человека

Мини-курс

Управление проектами и стоимостная оценка в современном бизнесе

4 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Основы управления проектами: от концепции к реализации

4 ч.

780 руб. 390 руб.
Подать заявку О курсе