👨‍💻DEV [Сергей Балакирев] [Stepik] Добрые, добрые структуры данных (2024)

[Сергей Балакирев] [Stepik] Добрые, добрые структу_0.png


[Сергей Балакирев] [Stepik] Добрые, добрые структуры данных (2024)

Добрые, добрые структуры данных [Stepik] [Сергей Балакирев]


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

Этот курс - очередная важная ступенька вашего становления, как грамотного IT-специалиста в области программирования.

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

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

Чему вы научитесь:

* Узнаете как правильно определять вычислительную сложность типовых алгоритмов (показатель О большое - Big O).

* Познакомитесь со статическими и динамическими массивами.

* Подробно изучите одно- и двусвязные списки, а также их использование для построения очередей и стеков.

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

* Познакомитесь с префиксными (нагруженными) деревьями и их применением для построения ассоциативных массивов.

* Изучите основы хэш-таблиц, способы построения хэш-функций и методами устранения коллизий.

Программа курса:
1. Учимся оценивать вычислительную сложность алгоритмов


* Введение в Big O

* Big O логарифмической и факториальной сложности

2. Простейшие структуры данных

* Статический массив

* Статический массив на С++

* Динамический массив

* Динамический массив на Python

* Динамический массив на С++

3. Связные списки

* Односвязный список

* Односвязный список на С++

* Двусвязный список

* Двусвязный список на С++ с нуля

* Класс list двусвязного списка библиотеки STL языка С++

4. Очереди и стек

* Очереди типов FIFO и LIFO

* Очередь collections.deque на Python

* Класс deque очереди библиотеки STL языка C++

* Стек (stack)

* Реализация стека на Python и C++

5. Деревья и множества

* Бинарные деревья

* Способы обхода и удаления вершин бинарного дерева

* Бинарное дерево на Python

* Множества (set). Операции над множествами

* Множества set и multiset в C++

* Контейнер map библиотеки STL в C++

* Префиксное (нагруженное, Trie) дерево. Ассоциативные массивы

6. Хэш-таблицы

* Хэш-таблицы

* Универсальное хэширование

* Метод открытой адресации. Двойное хэширование

* Хэш-таблицы в языках Python и С++

В курс входят:

* 28 уроков

* 6часов 21минута видео

* 187 тестов

* 76 интерактивных задач

Преподаватель: Сергей Балакирев



—————————————————————————

🔗 Продажник:
Доступно пользователям: Зарегистрированный


📥 СКАЧАТЬ КУРС:
🔐 Хотите получить доступ?

Чтобы увидеть скрытые ссылки и ставить лайки, активируйте VIP-статус.

💎 ПОЛУЧИТЬ ДОСТУП Наш Telegram канал
 

Похожие курсы

Назад
Верх