Чему вы научитесь
- 1. Узнаете как правильно определять вычислительную сложность типовых алгоритмов (показатель О большое - Big O).
- 2. Познакомитесь со статическими и динамическими массивами.
- 3. Подробно изучите одно- и двусвязные списки, а также их использование для построения очередей и стеков.
- 4. Увидите, что из себя представляют бинарные деревья и как они применяются для описания упорядоченных множеств.
- 5. Познакомитесь с префиксными (нагруженными) деревьями и их применением для построения ассоциативных массивов.
- 6. Изучите основы хэш-таблиц, способы построения хэш-функций и методами устранения коллизий.
О курсе
Этот курс - очередная важная ступенька вашего становления, как грамотного IT-специалиста в области программирования. После того, как вы изучили базовые возможности языка, его объектно-ориентированную составляющую, следующим логичным шагом является изучение типовых, часто используемых структур данных, знание их сильных и слабых сторон для эффективного использования в своих проектах.
Любая более-менее состоятельная программа использует хотя бы одну простейшую структуру данных, например, массивы. А в более сложных проектах всегда присутствуют и более сложные вроде связных списков, хэш-таблиц, множеств, ассоциативных массивов и так далее. Все это нужно знать, чтобы ваши программы получались максимально быстрыми и при этом экономно расходовали память устройства. Мало того, почти всегда на собеседованиях при приеме на работу на должность программиста задаются вопросы по структурам данных и способах оценки сложности алгоритмов, как правило, с позиции "О большого" (Big O). Как раз все эти важные темы входят в данный курс. Его прохождение позволит вам не только увереннее составлять алгоритмы, но и успешнее проходить собеседования при будущем трудоустройстве.
Для кого этот курс
Задания этого курса ориентированы на язык Python и С++. Поэтому его имеет смысл проходить после изучения базы и ООП этих языков: "Добрый, добрый Python" (ссылка: https://stepik.org/course/100707/) "Добрый, добрый Python ООП" (ссылка: https://stepik.org/course/116336/) "Добрый, добрый C/C++": https://stepik.org/course/193691/ "Добрый, добрый ООП C++": https://stepik.org/a/205781 Идеально, если вы знаете оба языка программирования: и Python и C++. Но, можно его проходить, зная только один из них, или даже какой-либо другой. Правда тогда некоторые практические задания для вас будут непонятными. Но, тем не менее, вы, все равно, в полном объеме сможете изучить сами структуры данных. А это главная цель данного курса.
Начальные требования
"Добрый, добрый Python": https://stepik.org/course/100707/
"Добрый, добрый Python ООП": https://stepik.org/course/116336/
"Добрый, добрый C/C++": https://stepik.org/course/193691/
"Добрый, добрый ООП C++": https://stepik.org/205781