Добрые, добрые структуры данных - курс от Сергея Балакирева

Для грамотной разработки программного кода нужно не только хорошо владеть языком программирования, но и предельно ясно представлять себе как эффективно организовывать хранение и обработку данных в процессе работы программы. Именно для этого и нужно знать основные структуры данных, понимать как они работают, какие у…
Intermediate Level
4-5 часов в неделю
Stepik certificate

What you will learn

  • 1. Узнаете как правильно определять вычислительную сложность типовых алгоритмов (показатель О большое - Big O).
  • 2. Познакомитесь со статическими и динамическими массивами.
  • 3. Подробно изучите одно- и двусвязные списки, а также их использование для построения очередей и стеков.
  • 4. Увидите, что из себя представляют бинарные деревья и как они применяются для описания упорядоченных множеств.
  • 5. Познакомитесь с префиксными (нагруженными) деревьями и их применением для построения ассоциативных массивов.
  • 6. Изучите основы хэш-таблиц, способы построения хэш-функций и методами устранения коллизий.

About this course

Этот курс - очередная важная ступенька вашего становления, как грамотного IT-специалиста в области программирования. После того, как вы изучили базовые возможности языка, его объектно-ориентированную составляющую, следующим логичным шагом является изучение типовых, часто используемых структур данных, знание их сильных и слабых сторон для эффективного использования в своих проектах.

Любая более-менее состоятельная программа использует хотя бы одну простейшую структуру данных, например, массивы. А в более сложных проектах всегда присутствуют и более сложные вроде связных списков, хэш-таблиц, множеств, ассоциативных массивов и так далее. Все это нужно знать, чтобы ваши программы получались максимально быстрыми и при этом экономно расходовали память устройства. Мало того, почти всегда на собеседованиях при приеме на работу на должность программиста задаются вопросы по структурам данных и способах оценки сложности алгоритмов, как правило, с позиции "О большого" (Big O). Как раз все эти важные темы входят в данный курс. Его прохождение позволит вам не только увереннее составлять алгоритмы, но и успешнее проходить собеседования при будущем трудоустройстве.

Whom this course is for

Задания этого курса ориентированы на язык Python и С++. Поэтому его имеет смысл проходить после изучения базы и ООП хотя бы одного из этих языков: или Python, или C++. Для языка Python имеются следующие курсы, с которых лучше начать, прежде чем приступать к этому: "Добрый, добрый Python" (ссылка: https://stepik.org/course/100707/) "Добрый, добрый Python ООП" (ссылка: https://stepik.org/course/116336/) Идеально, если вы знаете оба языка программирования: и Python и C++. Но, можно его проходить, зная только один из них, или даже какой-либо другой. Правда тогда некоторые практические задания для вас будут непонятными. Но, тем не менее, вы, все равно, в полном объеме сможете изучить сами структуры данных. А это главная цель данного курса.

Initial requirements

"Добрый, добрый Python": https://stepik.org/course/100707/
"Добрый, добрый Python ООП": https://stepik.org/course/116336/

Meet the Instructors

Course content

loading...
Certificate

Certificate

Stepik certificate

Price

Price: RUB 1,000
Try for free
You've tried this course and realized it's not for you? That's fine, we will pay you back within 30 days from the purchase.

FAQ

Share this course

Price: RUB 1,000
Try for free