Автор: Яндекс.Практикум
Название: Алгоритмы для разработчиков. Часть 4 из 4 (2022)
Принципы, лежащие в основе алгоритмов и структур данных, актуальны для любого стека технологий. Они не устаревают. Знание и понимание этих принципов помогает разработчикам писать более эффективный и аккуратный код.
Содержание
Введение в алгоритмы
20 часов
Понятие сложности алгоритма. O-нотация. Оценка времени исполнения программы.
Основные структуры данных
20 часов
Массив, связный список, стек, очередь. Сложность операций вставки, поиска и удаления. Представление данных в памяти. Пространственная сложность алгоритма.
Рекурсия
5 часов
Понятие рекурсии. Принцип «разделяй и властвуй». Бинарный поиск.
Сортировки
15 часов
Квадратичные сортировки. Сортировка слиянием. Быстрая сортировка. Линейная сортировка подсчётом.
Хеш-функции и хеш-таблицы
20 часов
Абстракция отображения. Понятие и свойства хеш-функции, примеры. Структура данных хеш-таблица. Коллизии и способы их разрешения.
Деревья
20 часов
Структура данных дерево. Сбалансированные деревья поиска. Структура данных куча. Пирамидальная сортировка.
Графы
20 часов
Определение графа, способы представления в памяти. Обход графа в глубину и в ширину. Компоненты связности. Алгоритмы поиска кратчайшего пути. Минимальное остовное дерево.
Динамическое программирование
15 часов
Определение, одномерные и двумерные задачи. Динамическое программирование по подотрезкам. Динамическое программирование по подмножествам.
Жадные алгоритмы
5 часов
Понятие жадного алгоритма, область применения. Примеры, доказательство корректности алгоритма.
Алгоритмы на строках
20 часов
Префикс-функция. Подстроки, префиксы и суффиксы. Поиск шаблона в строке. Наивный алгоритм. Структура данных бор.
Название: Алгоритмы для разработчиков. Часть 4 из 4 (2022)
Принципы, лежащие в основе алгоритмов и структур данных, актуальны для любого стека технологий. Они не устаревают. Знание и понимание этих принципов помогает разработчикам писать более эффективный и аккуратный код.
Содержание
Введение в алгоритмы
20 часов
Понятие сложности алгоритма. O-нотация. Оценка времени исполнения программы.
Основные структуры данных
20 часов
Массив, связный список, стек, очередь. Сложность операций вставки, поиска и удаления. Представление данных в памяти. Пространственная сложность алгоритма.
Рекурсия
5 часов
Понятие рекурсии. Принцип «разделяй и властвуй». Бинарный поиск.
Сортировки
15 часов
Квадратичные сортировки. Сортировка слиянием. Быстрая сортировка. Линейная сортировка подсчётом.
Хеш-функции и хеш-таблицы
20 часов
Абстракция отображения. Понятие и свойства хеш-функции, примеры. Структура данных хеш-таблица. Коллизии и способы их разрешения.
Деревья
20 часов
Структура данных дерево. Сбалансированные деревья поиска. Структура данных куча. Пирамидальная сортировка.
Графы
20 часов
Определение графа, способы представления в памяти. Обход графа в глубину и в ширину. Компоненты связности. Алгоритмы поиска кратчайшего пути. Минимальное остовное дерево.
Динамическое программирование
15 часов
Определение, одномерные и двумерные задачи. Динамическое программирование по подотрезкам. Динамическое программирование по подмножествам.
Жадные алгоритмы
5 часов
Понятие жадного алгоритма, область применения. Примеры, доказательство корректности алгоритма.
Алгоритмы на строках
20 часов
Префикс-функция. Подстроки, префиксы и суффиксы. Поиск шаблона в строке. Наивный алгоритм. Структура данных бор.
Cкрытый контент, нужно авторизируйся или присоединяйся.
Возможно, Вас ещё заинтересует:
- [it-black] Виктор Черемных ― Администрирование безопасных сетей (ViPNet) (2025)
- [Diogo Resende] Учебный лагерь по инженерии ИИ - технология поисковой дополненной генерации (RAG) для LLM
- [Павел Старцев] [Stepik] Нейросети: от простейшего запроса до создания бота (2025)
- [Нетология] Профессия «Интернет‑маркетолог с нуля до middle» (2025)
- [Яндекс.Практикум] Python‑разработчик (+Python‑разработчик плюс)
- [Архэ] Компьютерная лингвистика. Основные задачи компьютерной лингвистики и подходы к их решению
- [Екатерина Юсупова] Герпес вирус. Обучающий проект (2024)
- [Stepik] Разработка мобильных и PC приложений на Python. Фреймворк Kivy (2024)
- [Павел Монахов] Системное администрирование Linux (2024)
- [Богдан Кухар] Администратор 1С v 3.8 (все модули) (2024)
- [Stepik] Многозадачность в Python. Многопоточное программирование
- [developedbyed] Фулстек Next.js (React) разработчик
- [brainy] Веб-тестирование для абсолютных новичков (2024)
- [PurpleSchool] Neovim - практика и настройка (2024)
- [Stepik] Java с нуля до Junior + Подготовка к собеседованию (2024)
- [NFE] Внедрение Cisco SD-WAN (Viptela) . Базовый курс (2024)
- [Webщик] Тревожный чемоданчик складчика 3 (2024)
- [Яндекс.Практикум] Python-разработчик. Часть 5 из 8
- [Structy] Алгоритмы и структуры данных для Faang (2024)
- [Laravelcreative] Laravel 9, 10 (база + 4 практических курса)