8 812 320 13 03
  • Новости
  • Расписание
  • Курсы
  • Организациям
  • Летняя Школа
  • Перезвоните мне

    Курс алгоритмы и структуры данных Санкт Петербург

    Алгоритмы и структуры данных

    NEW
    Алгоритмы и структуры данных
    Начало курса
    28.09.2017
    Продолжительность
    1 месяц (32 ак. часа)
    Расписание
    Чт. 19:00 - 22:00
    Сб. 11:00 - 14:00
    Семинар
    (10 мест)
    11700 записаться
    свернуть

    Описание курса

    Существую разные точки зрения на вопрос, нужно ли программисту знание алгоритмов. 

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

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


    После прохождения данного курса Вы сможете: 

    • Более эффективно решать поставленные задачи 
    • Значительно сократить количество строк кода и занимаемого места на диске
    • Максимально эффективно использовать язык программирования 
    • Осознанно принимать решения на стадии проектирования архитектуры приложения

    Требования к участникам: 

    • Умение программировать на любом языке

    Программа 


    Занятие 1. Анализ алгоритмов. Числовые алгоритмы. Рекурсия

    •   Введение в анализ сложности алгоритмов.
    •   Алгоритм вычисление факториала и его анализ.
    •   Понятие рекурсии. Анализ рекурсивных функций.
    •   Практика

    Занятие 2. Элементарные структуры данных

    •   Массив, стек, очередь
    •   Динамические структуры данных (списки, деревья)
    •   Умножение матриц
    •   Сравнение строк
    •   Анализ сложности вычислений
    •   Практика

    Занятие 3. Сортировки и алгоритмы поиска

    •   Бинарный поиск.
    •   Сортировка вставками
    •   Сортировка выбором
    •   Сортировка слиянием
    •   Быстрая сортировка (возможные случаи)
    •   Алгоритмы поиска в деревьях
    •   Поиск подстрок
    •   Анализ сложности вычислений
    •   Практика

    Занятие 4. Динамическое программирование

    •   Кэширование вычислений.
    •   Замена рекурсивных функций и увеличение производительности.
    •   Анализ сложности вычислений
    •   Практика

    Занятие 5. Порядковые статистики. Кучи

    •   Вычисление k-порядковой статистики. Рэндомизированный случай.
    •   Очереди с приоритетами (кучи). Двоичная куча.
    •   Сортировка кучей (heap sort).
    •   Анализ сложности вычислений
    •   Практика

    Занятие 6. Хэширование. Система непересекающихся множеств

    •   Хэширование. Типы хэш-таблиц. Хэш-функция.
    •   Система непересекающихся множеств. Разновидности.
    •   Анализ сложности вычислений
    •   Практика

    Занятие 7. Элементарная теория графов

    •   Представление графов. Анализ каждого представления.
    •   Обход графа. Поиск в глубину. Поиск в ширину.
    •   Поиск кратчайших путей на графе. Алгоритм Дейкстры. Алгоритм Флойда-Уоршелла
    •   Практика

    Занятие 8. Применение численных методов в решении практических задач

    •   Подход к вычислению бесконечных сумм на примере математической библиотеки.
    •   Реализация алгоритмов вычисления интегралов.
    •   Интерполяционные многочлена на примере построения графиков
    •   Практика

     и многое другое!

    свернуть

    Преподаватель

    Михаил

    Закончил мех-мат ЮФУ по специальности "Прикладная математика и информатика".

    Опыт разработки более 7-ми лет. За это время попробовал не мало различных технологий и языков программирования, но большую часть времени занимался разработкой на С++ и всем, что с ним связано.
    В данный момент Михаил работает программистом в компании Wargaming. В решении задач использует как С++, так и Python.

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

    Фотографии

    Курсы программирования, тестирования, мобильных и веб-технологий от Level UP!
    Учитесь с профессионалами в сфере IT-образования!