Алгоритмы и структуры данных на Python 3. Часть 1

Курс от Московского физико-технического института (МФТИ), одного из ведущих технических вузов России. Лектор — Хирьянов Тимофей Фёдорович, преподаватель кафедры информатики МФТИ, также работающий в онлайн-школе Фоксфорд.

Лекция №1

В первой лекции вы узнаете, что есть «информатика», что значит «уметь программировать» и что понимает под этим лектор. Познакомитесь с первой программой, которую пишет каждый программист, когда начинает изучать любой язык программирования, а также изучите концепцию присваивания в Python, обмен значений двух переменных, некоторые арифметические операции и циклы.

Лекция №2

Следующая лекция позволит узнать об основах алгебры логики, таблицах истинности и логических законах, различных типах данных и принципах работы логических операций в Python.

Лекция №3

Позиционные системы счисления, литералы чисел в Python, разложение числа на цифры и однопроходные алгоритмы без реализации — предметы обсуждения третьей лекции курса.

Лекция №4

В текущей лекции Тимофей Фёдорович расскажет о том, как описывать простые функции с параметрами, что такое декомпозиция задачи, структурное программирование и проектирование «сверху-вниз», стек вызовов, полиморфизм в Python, как определять значения параметров, именованные параметры функций и многое другое.

Лекция №5

Из лекции вы узнаете о списке как массиве данных, о линейном поиске в массиве, способах копирования, алгоритмах обращения, циклическом сдвиге, добавлении элемента в конец и в начало массива, удалении элементов и об изменяемости списка.

Лекция №6

Методы append(), pop() и функция len() для списка, списковые включения, сортировка подсчётом, вставками, выбором и методом пузырька — темы, рассмотренные на шестой лекции.

Лекция №7

Из лекции вы узнаете, как работает рекурсия в Python, рассмотрите её прямой и обратный ходы, научитесь возводить числа в степень и вычислять факториалы.

Лекция №8

Лектор расскажет о генерации комбинаторных объектов, о рекурсивной генерации всех чисел длины M и всех перестановок, а также об альтернативном методе сортировки, получившем название «быстрая сортировка» Тони Хоара.

Лекция №9

Лекция лучше познакомит вас с быстрой сортировкой Тони Хоара, слиянием двух упорядоченных массивов, сортировкой методом слияния, а также способами повысить устойчивость сортировок и проверить работу целого массива.

Лекция №10

На занятии вы рассмотрите получение элементов последовательности Фибоначчи в цикле и с помощью рекурсивного вызова функции на Python 3, столкнетесь с проблемой перевычислений и решите вместе с лектором несколько задач про одномерное и двумерное программирование.

Лекция №11

Двумерное динамическое программирование, наибольшая общая подпоследовательность и наибольшая возрастающая подпоследовательность — темы, рассмотренные на одиннадцатой лекции.

Лекция №12

Как понять насколько близки две строки? Как поисковая система выдает необходимый запрос, если вы совершили ошибки при его наборе? Ответить на эти вопросы поможет лекция №12. Тимофей Фёдорович также расскажет о том, что такое алгоритм Кнута-Морриса-Пратта и как осуществляется наивный поиск подстроки в строке.

Лекция №13

Стек, структуры данных, алгоритм корректности скобочной последовательности, обратная польская нотация — предметы обсуждения следующей лекции курса.

Лекция №14

На лекции вы узнаете, насколько не изменяем кортеж, как работает список кортежей и цикл for с двумя переменными, научитесь использовать методы строки find, count, replace, а также методы split и join.

Продолжение курса вы можете найти во второй части нашего обзора.

Оцените курс
ОтвратительноПлохоУдовлетворительноХорошоОтлично! (0)
Загрузка...

Добавить комментарий