EMBER_CLI_FASTBOOT_BODY

Алгоритмы: теория и практика. Структуры данных

Play
To watch this video please visit https://stepik.org/lesson//step/

About the course

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

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

Данный курс является продолжением курса «Алгоритмы: теория и практика. Методы». Если вы не проходили этот курс, мы настоятельно рекомендуем вам пройти хотя бы его первую неделю.

Instructors

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

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

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

Reviews

Rated:  5
Отличный базовый курс по структурам данных!
Rated:  4
Спасибо большое за курс! Много действительно стоящих задач было. Последние две задачи были настолько серьезными, что пришлось потратить 3 дня просто чтобы осмыслить их и сесть за написание кода. Отмечу, что для их решения лично мне было не достаточно лекций, пришлось много гуглить и читать комментарии (все до единого, не на один раз). Но разобраться удалось и счастью нет предела =) Буду ждать продолжения.
Rated:  5
Большое спасибо за курс. Все объяснено очень понятно и доходчиво. Хорошая база для продолжения изучения структур данных.
Play
To watch this video please visit https://stepik.org/lesson//step/
4.9 All reviews

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

Open date:
May 16, 2018
Last deadline:
Jun 27, 2018
Workload:
5–7 часов в неделю
Expected time to complete:
28 hours
Language:
Русский
Certificate:
Computer Science центр
Certificate condition: 9 points
With distinction: 12 points

About the course

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

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

Данный курс является продолжением курса «Алгоритмы: теория и практика. Методы». Если вы не проходили этот курс, мы настоятельно рекомендуем вам пройти хотя бы его первую неделю.

Requirements

Знание одного из распространённых языков программирования (C++, Java, Python, Octave, Haskell) на базовом уровне: циклы, массивы, списки, очереди. Базовые знания математики: доказательство от противного, доказательство по индукции, логарифм, экспонента.

Target audience

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