{"id":21391379,"url":"https://github.com/radmitr/data-structures-and-algorithms","last_synced_at":"2025-03-16T13:22:27.120Z","repository":{"id":209356974,"uuid":"722992410","full_name":"radmitr/data-structures-and-algorithms","owner":"radmitr","description":"Data structures and algorithms by Olexandr Tsymbaliuk. Not finished.","archived":false,"fork":false,"pushed_at":"2024-01-12T14:25:23.000Z","size":13847,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-23T01:11:19.518Z","etag":null,"topics":["algorithms","data-structures"],"latest_commit_sha":null,"homepage":"https://www.youtube.com/playlist?list=PLtNPgSbW9TX7acrQa2LeBAMGxO5WRAVsz","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/radmitr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-24T12:29:14.000Z","updated_at":"2024-08-08T20:14:58.000Z","dependencies_parsed_at":"2024-01-11T20:49:22.665Z","dependency_job_id":"c45b6482-9674-4ca2-a7d7-d5948274ad37","html_url":"https://github.com/radmitr/data-structures-and-algorithms","commit_stats":null,"previous_names":["radmitr/data-structures-and-algorithms"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radmitr%2Fdata-structures-and-algorithms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radmitr%2Fdata-structures-and-algorithms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radmitr%2Fdata-structures-and-algorithms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radmitr%2Fdata-structures-and-algorithms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/radmitr","download_url":"https://codeload.github.com/radmitr/data-structures-and-algorithms/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243872728,"owners_count":20361539,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms","data-structures"],"created_at":"2024-11-22T13:26:15.332Z","updated_at":"2025-03-16T13:22:27.085Z","avatar_url":"https://github.com/radmitr.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Структуры данных и алгоритмы\n\nАвтор курса: **Oleksandr Tsymbaliuk**\n\nЦикл видеолекций посвященный структурам данных и алгоритмам и их реализации на разных языках программирования.\n\n[Ссылка на YouTube](https://youtube.com/playlist?list=PLtNPgSbW9TX7acrQa2LeBAMGxO5WRAVsz\u0026si=WQp44whpgYTCJhIX)\n\n[Ссылка на программу курса](https://docs.google.com/document/d/1U-XBUSU1PMwn7DL_nks2nUmyPSiDDdSpmTF9Ec_7MSU/edit)\n\n\u003cdetails\u003e\n    \u003csummary\u003e\n        Программа курса\n    \u003c/summary\u003e\n\n## Алгоритмы\n\n#### Теоретические основы\nАлгоритмы. Определение и виды  \nАсимптотическая сложность. О нотация или Big O  \nАрифметические операции. Реализация в языках программирования Java и Python  \nПозиционная система счисления  \nРекурсия. Реализация в Python и Java  \nМемоизация  \n\n#### Сортировка\nТеоретическое описание  \nСортировка выбором  \nСортировка пользовательских типов данных  \nСортировка пузырьком  \nГномья сортировка  \nСортировка перемешиванием  \nСортировка расчёской  \nСортировка вставками  \nСортировка Шелла  \nСортировка подсчетом  \nСортировка распределяющим подсчетом  \nБлочная сортировка  \nПоразрядная сортировка  \nСортировка слиянием. Итерационный алгоритм  \nСортировка слиянием. Рекурсивный алгоритм  \nБыстрая сортировка. Разбиение Хоара  \nБыстрая сортировка. Разбиение Ломуто  \nБыстрая сортировка. Оптимизация  \nБыстрая сортировка. Трехчастное разбиение  \n\n#### Поиск\nПоиск теория  \nЛинейный (последовательный) поиск  \nБинарный поиск  \nТернарный поиск  \nЭкспоненциальный поиск  \nПоиск Фибоначчи  \nИнтерполяционный поиск  \n\n#### Комбинаторика\nКомбинаторика. Теоретические основы  \nГенерация перестановок. Алгоритм Джонсона-Троттера  \nГенерация перестановок в лексикографическом порядке. Алгоритм Нарайаны  \nГенерация перестановок с помощью циклических сдвигов  \nГенерация перестановок. Метод обмена Эрлиха  \nГенерация перестановок. Алгоритм Хипа  \nГенерация сочетаний  \nГенерация сочетаний в лексикографическом порядке  \nГенерация сочетаний с помощью алгоритма вращающейся двери  \nГенерация сочетаний с повторениями  \nГенерация размещений без повторений  \nГенерация размещений с повторениями  \nГенерация разбиений числа в лексикографическом порядке  \nГенерация разбиений числа на m частей  \nРазбиение множества. Теория  \nРазбиение множества с помощью ограниченно возрастающей последовательности  \nДвоичный код Грея  \nГенерация подмножеств с помощью кода Грея  \n\n#### Вычислительные алгоритмы\nЦелочисленное деление. Вычисление остатка  \nВычисление наибольшего общего делителя  \nВычисление вещественного квадратного корня  \nВычисление целочисленного квадратного корня  \nРяд Фибоначчи  \nСлияние отсортированных последовательностей  \nПоиск минимума и максимума в последовательности  \nПоиск порядковой статистики  \nРеверс последовательности  \nНахождение корней уравнений методом деления отрезка пополам  \nНахождение корней уравнения методом хорд  \nЧисленное интегрирование  \nЧисленное дифференцирование  \nСхема Горнера  \nХеш-функция  \n\n#### Работа со строками\nСтроки. Способы хранения на ПК  \nСравнение строк в лексикографическом порядке  \nНахождение расстояния Левенштейна с помощью алгоритма Вагнера-Фишера  \nПоиск подстроки. Метод грубой силы  \nПрефикс-функция  \nПоиск подстроки. Алгоритм Кнута-Морриса-Пратта  \nАлгоритм поиска подстроки Бойера-Мура-Хорспула  \nПоиск подстроки. Алгоритм Рабина-Карпа  \nLSD сортировка строк  \nАдаптация LSD сортировки для строк разной длины  \nMSD сортировка строк  \n\n#### Интерполяция и аппроксимация данных\nЛинейная интерполяция  \nИнтерполяционный полином Лагранжа  \nИнтерполяционный полином Ньютона  \nИнтерполяционный полином Стирлинга  \nИнтерполяция рациональными функциями Беррута  \nАппроксимация линейной функцией по методу наименьших квадратов  \nЛинеаризация функций  \n\n#### Вычислительная геометрия\nПопадание точки в круг  \nПопадание точки в треугольник  \nПересечение отрезков  \nПересечение окружностей  \nВычисление площади многоугольника по формуле Гаусса  \n\n## Структуры данных\n\n#### Списки, стеки, очереди, ассоциативные массивы\nОбзор  \nМассивы  \nСписок на основе массива  \nОдносвязный список  \nДвусвязный список  \nСтек на основе односвязного списка  \nСтек на основе массива  \nОчередь на основе двусвязного списка  \nОчередь на основе массива  \nАссоциативный массив на основе хеш-таблиц  \n\n#### Графы\nГрафы. Вступление  \nПредставление простого графа  \nПоиск в глубину  \nПоиск в ширину  \n\n#### Деревья\nВступление  \nБинарное дерево поиска\n\n#### Кучи\nБинарная куча  \n    \n\u003c/details\u003e\n\n-----\n\n**Мои комментарии**\n\n- Очень толковый плейлист по алгоритмам и структурам данных, отличное объяснение материала. Считаю этот канал жемчужиной на просторах YouTube.\n\n- Автор постоянно расширяет свой курс, дополняя новыми лекциями. Можно попросить осветить какую-либо тему.\n\n- В курсе используются языки Python, Java и Fortran. Малая часть примеров не охватывается Java кодом. Переписал с Python и Fortran на Java.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradmitr%2Fdata-structures-and-algorithms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fradmitr%2Fdata-structures-and-algorithms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradmitr%2Fdata-structures-and-algorithms/lists"}