- 28.05.2024
- 1 388
- 0
- 31
- Награды
- 5
- 24
Репутация:
- Автор темы
- #1
Добрые, добрые структуры данных [Stepik] [Сергей Балакирев]
Для грамотной разработки программного кода нужно не только хорошо владеть языком программирования, но и предельно ясно представлять себе как эффективно организовывать хранение и обработку данных в процессе работы программы. Именно для этого и нужно знать основные структуры данных, понимать как они работают, какие у них преимущества и недостатки, чтобы грамотно выбирать лучшие способы представления данных при решении каждой конкретной задачи.
Этот курс - очередная важная ступенька вашего становления, как грамотного IT-специалиста в области программирования.
После того, как вы изучили базовые возможности языка, его объектно-ориентированную составляющую, следующим логичным шагом является изучение типовых, часто используемых структур данных, знание их сильных и слабых сторон для эффективного использования в своих проектах.
Любая более-менее состоятельная программа использует хотя бы одну простейшую структуру данных, например, массивы. А в более сложных проектах всегда присутствуют и более сложные вроде связных списков, хэш-таблиц, множеств, ассоциативных массивов и так далее. Все это нужно знать, чтобы ваши программы получались максимально быстрыми и при этом экономно расходовали память устройства. Мало того, почти всегда на собеседованиях при приеме на работу на должность программиста задаются вопросы по структурам данных и способах оценки сложности алгоритмов, как правило, с позиции "О большого" (Big O). Как раз все эти важные темы входят в данный курс. Его прохождение позволит вам не только увереннее составлять алгоритмы, но и успешнее проходить собеседования при будущем трудоустройстве.
Чему вы научитесь:
- Узнаете как правильно определять вычислительную сложность типовых алгоритмов (показатель О большое - Big O).
- Познакомитесь со статическими и динамическими массивами.
- Подробно изучите одно- и двусвязные списки, а также их использование для построения очередей и стеков.
- Увидите, что из себя представляют бинарные деревья и как они применяются для описания упорядоченных множеств.
- Познакомитесь с префиксными (нагруженными) деревьями и их применением для построения ассоциативных массивов.
- Изучите основы хэш-таблиц, способы построения хэш-функций и методами устранения коллизий.
1. Учимся оценивать вычислительную сложность алгоритмов
- Введение в Big O
- Big O логарифмической и факториальной сложности
- Статический массив
- Статический массив на С++
- Динамический массив
- Динамический массив на Python
- Динамический массив на С++
- Односвязный список
- Односвязный список на С++
- Двусвязный список
- Двусвязный список на С++ с нуля
- Класс list двусвязного списка библиотеки STL языка С++
- Очереди типов FIFO и LIFO
- Очередь collections.deque на Python
- Класс deque очереди библиотеки STL языка C++
- Стек (stack)
- Реализация стека на Python и C++
- Бинарные деревья
- Способы обхода и удаления вершин бинарного дерева
- Бинарное дерево на Python
- Множества (set). Операции над множествами
- Множества set и multiset в C++
- Контейнер map библиотеки STL в C++
- Префиксное (нагруженное, Trie) дерево. Ассоциативные массивы
- Хэш-таблицы
- Универсальное хэширование
- Метод открытой адресации. Двойное хэширование
- Хэш-таблицы в языках Python и С++
- 28 уроков
- 6часов 21минута видео
- 187 тестов
- 76 интерактивных задач
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.
Последние темы в этом разделе:
- [Дмитрий Скоромнов] Основы системного администрирования (2024)
- [Анна Вичугова, Зоя Степчева] Проектирование сложных API: OpenAPI + AsyncAPI (2024)
- [Глеб Михайлов] [Stepik] SQL для анализа данных (2024)
- [Bogdan Stashchuk] [Udemy] Полный курс по MongoDB (2024)
- [Udemy] Полный учебный курс по Go. С Нуля до Героя (2019) [Engl]
- [Академия АйТи] Тестирование на проникновение и анализ безопасности. Базовый уровень (2024)
- [HTML Academy] Профессиональный онлайн-курс Vite (2024)
- [Дмитрий Чернов] Виртуализация Proxmox VE. Внедрение и эксплуатация. Расширенные возможности. Часть 2 (2024)
- [Udemy] [Рамзай Дупати] [ENG] Полный курс по сетевому взлому - от начинающего до продвинутого (2024)
- [infostart.ru] DevOps для 1С (2024)