- Регистрация
- 24.09.2021
- Сообщения
- 38 365
Эффективные решения вычислительных задач Студенты углубят базу программирования на языке Python и «прокачают» алгоритмическое мышление. Курс учит понимать фундаментальные алгоритмы и использовать их для решения практических задач. Знакомит с методами анализа данных на Python и всеми необходимыми библиотеками. Чему Вы научитесь Излагать идеи в виде блок-схем, читать готовые схемы и реализовывать программы на их основе; Закрепить навыки реализации простейших алгоритмов с ветвлениями, циклами, а также рекурсивных алгоритмов; Познакомиться с классическими структурами данных, которые применяются в программировании, и уметь использовать их реализации на языке Python; Освоить модуль Collections и научиться работать с популярными структурами данных модуля; Освоить классические алгоритмы, которые лежат в основе современных проектов любой степени сложности; Узнать об алгоритмической сложности алгоритмов и научиться оценивать сложность вашего алгоритма при помощи встроенных в Python инструментов; Познакомиться с внутренним устройством интерпретатора Python и понять структуру объектов внутри языка; Научиться работать с деревьями и хеш-таблицами. Писать алгоритмы для работы с ними. Программа курса: Урок 1. Введение в алгоритмизацию и реализация простых алгоритмов на Python Введение в алгоритмизацию. Решение практических задач. Урок 2. Циклы. Рекурсия. Функции. Циклы – многократное повторение однотипных действий. Рекурсивный перебор. Алгоритм Евклида. Решето Эратосфена – алгоритм определения простых чисел. Использование функций. Урок 3. Массивы. Кортежи. Множества. Списки. Понятие массива, кортежа, множества и списков. Обработка последовательностей, одномерных и двумерных массивов. Работа с ассоциативными массивами (таблицами данных). Двоичный (бинарный) поиск элемента в массиве. Урок 4. Эмпирическая оценка алгоритмов на Python Измерения времени работы с использованием timeit. Профайлер. Урок 5. Коллекции. Список. Очередь. Словарь. Понятие коллекции. Основные типы коллекции. Стандартные методы работы с коллекциями. Примеры применения коллекций для решения практических задач. Урок 6. Работа с динамической памятью Представление в памяти коллекций. Управление памятью. Урок 7. Алгоритмы сортировки Сортировка пузырьком. Быстрая сортировка (Quick sort). Сортировка Шелла. Сортировка сложных структур с использованием ключа. Обратная сортировка. Сортировка с использованием функции attrgetter. Урок 8. Деревья. Хэш-функция Двоичные деревья поиска. Проход по дереву. Хэш-функция. |