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

100 

Описание

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

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

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

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

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

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

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

Программа курса:

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 интерактивных задач.
Автор курса: Сергей Балакирев

Сайт продажника: https://stepik.org/course/134212/promo

Цена с продажника: 1000 руб.

У нас Вы можете приобрести всего за 100 руб.

Отзывы

Отзывов пока нет.

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