Практика языка C (МФТИ, 2023-2024). Семинар 3.2. Стратегия "разделяй и властвуй".

Поділитися
Вставка
  • Опубліковано 13 чер 2024
  • Практические занятия по языку C на первом курсе МФТИ. Кафедра информатики.
    На этом занятии мы плотно займёмся анализом алгоритмов. Начнём мы с бинарного поиска и сортировок, использующих стратегию разбиения пополам. А дальше погрузимся в доказательство основной теоремы (master theorem) которую далее будем использовать в анализе асимптотической сложности. Я попробую не только доказать эту теорему но и объяснить как она работает. Ну а закончим поучительным перемножением полиномов.
    Семинарист: Константин Владимиров.
    Дата: 3 ноября 2023 года.
    Съёмка: Марк Гончаров.
    Звук: Юлий Тарасов.
    Предыдущий семинар: • Практика языка C (МФТИ...
    Следующий семинар: • Практика языка C (МФТИ...
    Слайды к занятиям: cs.mipt.ru/wp/?page_id=7775
    Примеры кода: github.com/tilir/c-graduate
    Задачник: olymp1.vdi.mipt.ru/
    Timeline
    00:00 Вступление
    02:45 Линейный и бинарный поиск
    10:35 Быстрая сортировка
    17:45 Разбиение по элементу
    24:20 Сортировка слиянием
    28:40 Основная теорема
    50:40 Время решать задачи
    52:10 Перемножение полиномов
    01:06:10 Ревью кода
    01:16:38 Пишем partition
    01:26:38 Завершение
    Errata:
    * Пока пусто

КОМЕНТАРІ • 13

  • @Hotrification
    @Hotrification 7 місяців тому +10

    У Вас хорошие лекции по С и С++, думал что знаю базу, а оказывается многое не знал. Будет интересно Вас послушать на конференции.

  • @kemalbidzhiev1948
    @kemalbidzhiev1948 5 місяців тому +2

    Очень круто, и ревью в конце семинара помогает. Спасибо большое за материалы

  • @AndersonSilva-dg4mg
    @AndersonSilva-dg4mg 7 місяців тому +12

    Спасибо за бесплатные лекции, безмерно уважаю вас за это. 🆒🙏☺

    • @tilir
      @tilir  7 місяців тому +7

      Надеюсь бесплатность не является их главным преимуществом ))

    • @AndersonSilva-dg4mg
      @AndersonSilva-dg4mg 7 місяців тому +4

      @@tilir конечно же нет, качественный матеиал. Всем друзьям рекомендую.

    • @user-wv8lb7ow6k
      @user-wv8lb7ow6k 7 місяців тому

      ​@@tilirспасибо

  • @MVZ1983
    @MVZ1983 Місяць тому

    Спасибо за очередной ролик
    На 1:24:00 в assert(arr[low] > arr[high]) нужно поставить >=
    low и high могут индексировать в массиве два одинаковых элемента

    • @MVZ1983
      @MVZ1983 Місяць тому

      А еще лучше выше заменить проверки
      arr[low]=key
      Извините за мои пять копеек

  • @McGewen
    @McGewen 7 місяців тому +1

    СУПЕР!!!!!!!

  • @antonzhurba865
    @antonzhurba865 7 місяців тому

    На 30 слайде, алгоритм будет работать только если длина массива не превышает INT_MAX + 1.

  • @EugeneS88-RU
    @EugeneS88-RU 6 місяців тому

    Благодарю за лекцию. Прочитал книгу "Грокаем алгоритмы" - там все поверхностно, а у вас развернуто

    • @tilir
      @tilir  6 місяців тому +2

      Если честно я не читал. Но попробуйте прочитать Кормена: там всё ещё более развёрнуто. Я как раз вынужден быть несколько поверхностным.

  • @kemalbidzhiev1948
    @kemalbidzhiev1948 3 місяці тому +1

    ua-cam.com/video/pcJHkWwjNl4/v-deo.html
    необычный графический взгляд на insertion и selection sort'ы . При визуализации выглядят одинаково