1. Алгоритмы и структуры данных. Введение. Массивы

«Технопарк Mail.ru Group» при МГТУ им. Н. Э. Баумана.
Курс «Алгоритмы и структуры данных».
Лекция № 1: «Введение в курс. Массивы».
Лектор - Степан Мацкевич.
В этом видео:
• Анализ алгоритмов и понятие вычислительной сложности задачи. O-нотация.
• Вычисление n-ого числа Фибоначчи.
• Проверка числа на простоту.
• Быстрое возведение числа в целую степень (за log(n)).
• Массивы. Однопроходные алгоритмы.
• Линейный поиск. Поиск минимального элемента.
• Бинарный поиск. Рекурсивный и нерекурсивный алгоритмы.
• Структура данных «Динамический массив». Амортизированное время добавления элемента.
Другие лекции курса: bit.ly/2dntXZ2
Цель курса - обучить основам алгоритмического программирования, привить практические навыки решения задач с помощью базовых алгоритмов и структур данных, сформировать правильное представление о времени работы и эффективности различных алгоритмов и структур данных.
Курс представляет собой изучение базовых алгоритмов и структур данных, необходимых программистам для качественного решения ежедневных задач. В курсе представлены элементарные алгоритмы для работы с массивами, сортировки. Рассказывается об элементарных структурах данных: стек, очередь, списки, куча. Также в курс включены различные деревья поиска и хеш-таблицы. Курс даёт представление о том, как оценивать эффективность алгоритмов, все алгоритмы курса оцениваются по времени работы и по количеству используемой дополнительной памяти.
Получаемые навыки
• Основные структуры данных: массив, стек, очередь, дек, очередь с приоритетом.
• Алгоритмы сортировки: квадратичные, пирамидальная, сортировка слиянием, QuickSort, поразрядная.
• Алгоритмы поиска порядковых статистик.
• Методы оптимизации в задачах динамического программирования.
• Структуры данных для создания эффективных контейнеров: хеш-таблицы, двоичные деревья поиска, АВЛ-деревья, декартовы деревья.
• Алгоритм кодирования Хаффмана для сжатия данных.
Курс научит
• Реализации алгоритмов и их комбинации на языке C++ для решения поставленных задач.
• Поиску применения классическим алгоритмам в задачах, возникающих в процессе разработки ПО.
• Методам отладки кода на языке C++.
• Навыкам оценки сложности алгоритмов.
VK Team - это миллион возможностей проявить себя. Мы делаем современные и быстрые интернет-сервисы, доступные каждому. На этом канале делимся опытом компании VK, рассказываем о технологиях, наших образовательных проектах и жизни команды.
😎 Сообщество ВКонтакте: vkteam
👨‍🎓 VK Образование: education.vk.company/
🏆 Чемпионаты: cups.online/
👨‍💻 Карьера в VK: team.vk.company/

Пікірлер: 24

  • @alexanderurezchenko6446
    @alexanderurezchenko64464 жыл бұрын

    Спасибо, было интересно

  • @MrIaroslav
    @MrIaroslav7 жыл бұрын

    У Вас жуки в описании числа Фибоначчи(Fib(0) = 0) и соотв. в двух вариантах кода. В первом варианте: при n==0 возвращаем 0, во втором варианте: переменная prev должна инициализироваться 0, а не 1(Fib(18) у вас 4184, а у wolfram-alpha&исправленных вариантах кода Fib(18)=2584). Спасибо за лекции, очень познавательно.

  • @exsklon
    @exsklon7 жыл бұрын

    Кто придумал на слайде зеленым выделять текст? 8|

  • @dasydasy9268

    @dasydasy9268

    Жыл бұрын

    ​@Sergii S не яц не глядя как и в г😂😂🎉😅🎉😂😂😮😮😂😮😊ш😅

  • @user-co8nb3kv1e
    @user-co8nb3kv1e7 жыл бұрын

    Отличная лекция и лектор, мне понравилось. Всё доходчиво, понятно и подробно объясняет.

  • @altrapper
    @altrapper7 жыл бұрын

    33:06 Вопрос. Там на слайде, в решении задачи стоит префикс (++i). Может я чет путаю, но разве из этого не вытекает, что программа игнорирует 2 и начинает вычисление с 3? В плане ожидается, что зайдя в if программа посчитает (n%2), но вместо этого расчет сразу пойдет с (n%3).

  • @plermicrag

    @plermicrag

    7 жыл бұрын

    Нет разницы как писать ++i или i++, поскольку следующий шаг счетчика рассчитывается только после выполнения тела цикла. Может быть, когда-то давно ++i работало быстрее, поэтому во многих учебниках можно встретить такой вариант. Это скорее всего калька из учебника или у них в ABBYY принят такой стиль.

  • @altrapper

    @altrapper

    7 жыл бұрын

    plermicrag, дело не в том, что работает быстрее или медленнее, а в том что префикс прибавляет единицу в начале тела цикла (до проверки в if), а постфикс в конце (т.е. после). А это говорит о том, что предоставленный текст не верен -_-

  • @MrZverify

    @MrZverify

    7 жыл бұрын

    сразу видно, что убил несколько часов на поиск неочевидного бага)

  • @altrapper

    @altrapper

    7 жыл бұрын

    Игорь Садовников как бы нет...-_- заметил тупо при просмотре... А собственно в чем неочевидность то?

  • @user-vitya1

    @user-vitya1

    6 жыл бұрын

    тоже заметил, наверное, так и надо, они же не могли сделать настолько очевидную ошибку. Возможно, мы чего-то не понимаем... хотя, вряд ли с:

  • @user-ck1vp7fp9l
    @user-ck1vp7fp9l Жыл бұрын

    На каком языке програмировании этот урок?

  • @electronic008

    @electronic008

    11 ай бұрын

    C++

  • @azion
    @azion7 жыл бұрын

    Ни чего не понятно Побольше примеров нужно Допустим есть задание и как решается Практика

  • @drKatzman
    @drKatzman7 жыл бұрын

    Вот какой смысл таких видеолекций, где лектор запинаясь пересказывает текст из учебника?

  • @artemshchablii8374

    @artemshchablii8374

    7 жыл бұрын

    Более менее смотреть можно на х1.5 скорости

  • @crea7or

    @crea7or

    7 жыл бұрын

    Кто бы написал - что это за учебник.

  • @alehleshchanka9914
    @alehleshchanka99147 жыл бұрын

    Это о чём

  • @arthurpendragon4415
    @arthurpendragon44157 жыл бұрын

    на 24 минуте переменная объявляется в цикле, что за??????? Кто так делает??? Вы же пишите алгоритмы что бы уменьшить их время!!!!!

  • @alxvseti

    @alxvseti

    5 жыл бұрын

    Не переживай, Артур, - компилятор соптимизирует. Так читабельней и кратче

  • @crea7or
    @crea7or7 жыл бұрын

    Этот хуже Бабичева, уж простите.

  • @crea7or

    @crea7or

    7 жыл бұрын

    Да, мне кажется, что практических вещей только маловато. Не дело это использовать выдуманные примеры. Не для школьников же материал.

  • @crea7or

    @crea7or

    7 жыл бұрын

    Ну так не школьники, он же про матанализ там говорит.

  • @yelenabay2607
    @yelenabay26074 жыл бұрын

    Под такие лекции только спать! Безумно скучно, особенно если ты только начинаешь вникать в тему🤦🏼‍♀️

Келесі