EMBER_CLI_FASTBOOT_BODY

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

The course meets the formal recommendations of Stepik
Video Player is loading.
Current Time 0:00
/
Duration 0:00
Loaded: 0%
Progress: 0%
Stream Type LIVE
Remaining Time -0:00
 
1x
Play
To watch this video please visit https://stepik.org/lesson//step/

About the course

Данный курс — это модификация первой части базового курса «Алгоритмы и структуры данных», читающегося в Computer Science Center.

Раз вы уже здесь, нет смысла подробно объяснять, почему важно знать алгоритмы. И всё же в двух словах: без алгоритмов был бы невозможен технологический прогресс; алгоритмы используются практически во всех областях computer science (например, в криптографии, анализе текстов, изображений и видео, биоинформатике); каждый уважающий себя программист должен знать базовые алгоритмы и структуры данных, чтобы писать эффективные программы.

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

Мы тщательно подобрали задачи для закрепления материала. Большинство алгоритмов, которые вы узнаете, вам нужно будет запрограммировать. Это лучший способ убедиться, что вы разобрались во всех деталях. Вас также ждут тесты (где нужно выбрать правильные ответы из предложенных) и теоретические задачи (в них нужно доказать математическое утверждение). Наконец, в курсе есть также задачи повышенной сложности — менее стандартные задачи, которые не являются обязательными для прохождения курса. Получить удовольствие от решения этих задач смогут и те, кто уже знаком с базовыми алгоритмами.

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

Мы благодарны компании JetBrains, при поддержке которой подготовлен данный курс, а также команде Стэпика и Сергею Аганезову за помощь в подготовке.

Instructors

  1. User picture
    Александр Куликов
    ПОМИ РАН, Computer Science Center

    Доктор физико-математических наук. Старший научный сотрудник Математического института Стеклова в Санкт-Петербурге (ПОМИ РАН), координатор и преподаватель Computer Science центра и Computer Science клуба при ПОМИ РАН. Научные интересы: алгоритмы для NP-трудных задач, схемная сложность.

    Домашняя страница: http://logic.pdmi.ras.ru/~kulikov/

  2. User picture
    Сергей Поромов
    Яндекс, НИУ ИТМО
    Преподаватель НИУ ИТМО, разработчик в компании Яндекс.

Reviews

Курс мне очень понравился, это был первый курс который я прослушал на данной площадке. Материал изложен доступно и лаконично.
Video Player is loading.
Current Time 0:00
/
Duration 0:00
Loaded: 0%
Progress: 0%
Stream Type LIVE
Remaining Time -0:00
 
1x
Play
To watch this video please visit https://stepik.org/lesson//step/
5 All reviews


Данный курс перезапускаться не будет. Вместо него мы подготовили улучшенную версию — курс «Алгоритмы: теория и практика. Методы».


Курс знакомит слушателей с базовыми алгоритмами (метод «разделяй и властвуй», поиск в массиве, сортировка массива, алгоритмы на графах) и структурами данных (расширяющийся массив, куча, дерево отрезков, системы непересекающихся множеств).
Computer Science Center

Open date:
Sep 14, 2014
Last deadline:
Nov 10, 2014
Workload:
5-7 часов в неделю
Expected time to complete:
27 hours
Language:
Русский
Certificate:
Computer Science Center
Certificate details
Certificate condition: 100 points
With distinction: 120 points

About the course

Данный курс — это модификация первой части базового курса «Алгоритмы и структуры данных», читающегося в Computer Science Center.

Раз вы уже здесь, нет смысла подробно объяснять, почему важно знать алгоритмы. И всё же в двух словах: без алгоритмов был бы невозможен технологический прогресс; алгоритмы используются практически во всех областях computer science (например, в криптографии, анализе текстов, изображений и видео, биоинформатике); каждый уважающий себя программист должен знать базовые алгоритмы и структуры данных, чтобы писать эффективные программы.

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

Мы тщательно подобрали задачи для закрепления материала. Большинство алгоритмов, которые вы узнаете, вам нужно будет запрограммировать. Это лучший способ убедиться, что вы разобрались во всех деталях. Вас также ждут тесты (где нужно выбрать правильные ответы из предложенных) и теоретические задачи (в них нужно доказать математическое утверждение). Наконец, в курсе есть также задачи повышенной сложности — менее стандартные задачи, которые не являются обязательными для прохождения курса. Получить удовольствие от решения этих задач смогут и те, кто уже знаком с базовыми алгоритмами.

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

Мы благодарны компании JetBrains, при поддержке которой подготовлен данный курс, а также команде Стэпика и Сергею Аганезову за помощь в подготовке.

Requirements

Часть задач курса состоит в реализации изученных алгоритмов. Для этого можно использовать один их следующих языков программирования: C++, Java, Python, Octave, Haskell.

Target audience

Студенты младших курсов и школьники.