Shorts
- Перенесите старт и сравните BFS и DFS на сайте: https://grundyjs.ru/algorithms/maze/?utm_source=rutube&utm_medium=social&utm_campaign=maze&utm_content=search_vertical Сравниваем поиск в ширину (BFS) и поиск в глубину (DFS) на одном лабиринте. BFS использует очередь и распространяется по слоям расстояния; DFS идёт по ветке и возвращается из тупиков по стеку. Найденный маршрут восстанавливается по родителям клеток. В примере — сетка 7 × 5, seed 34: от старта (1, 1) до выхода (7, 5) оба метода находят путь из 14 переходов. Здесь нет циклов, поэтому простой путь единственный. BFS сделал текущими 19 клеток, DFS — 27; это числа активированных клеток в данном примере, а не универсальное сравнение скорости алгоритмов. Если есть циклы, DFS может найти более длинный путь. BFS гарантирует кратчайший маршрут по числу переходов, когда каждый переход имеет одинаковую стоимость. В загруженном лабиринте выход может быть недостижим. Перенесите старт или выход, измените seed, управляйте шагами и сравните обходы. Можно сохранить лабиринт в JSON или загрузить свой. Авторская озвучка, без музыки. Сцена использует модель и плеер сайта; MP4 со звуком записаны напрямую через CanvasTake. Русские субтитры подготовлены отдельной дорожкой. Как построен этот лабиринт: https://rutube.ru/video/c4095f82edb36b2ff6d04382eaaf7570/ #алгоритмы #лабиринт #BFS #DFS #программирование
- Постройте свой лабиринт: https://grundyjs.ru/algorithms/maze/?utm_source=rutube&utm_medium=social&utm_campaign=maze&utm_content=generation_vertical Меняйте seed, делайте шаги вперёд и назад и наблюдайте за стеком. Рандомизированный поиск в глубину (DFS) строит лабиринт: выбираем ещё не посещённого соседа, открываем проход и сохраняем текущую ветку в стеке. В тупике возвращаемся до клетки с неисследованным направлением. В примере — сетка 7 × 5, seed 34: 35 клеток и 34 прохода. Каждый новый проход ведёт в новую клетку, поэтому циклов нет. После обхода всей сетки получается связное дерево: между любыми двумя клетками, в том числе выбранными стартом и выходом, есть единственный простой путь. Попробуйте другой seed, управляйте шагами и сравните получившиеся лабиринты. Поиск пути через BFS и DFS — отдельная тема; этот ролик посвящён генерации. Авторская озвучка, без музыки. Запись canvas со звуком — CanvasTake. #алгоритмы #лабиринт #DFS #программирование
- Меняйте старт и цель в интерактивном DFS: https://grundyjs.ru/algorithms/depth-first-search/?utm_source=rutube&utm_medium=social&utm_campaign=depth_first_search&utm_content=vertical Управляйте шагами, проследите за стеком и сравните с поиском в ширину. Поиск в глубину (DFS) идёт по одной ветке, хранит активные вызовы в стеке и возвращается назад, когда новые соседи заканчиваются. В этом графе путь из A до F — A → B → D → G → E → C → F: 6 рёбер. Но есть путь A → C → F — всего 2 ребра. DFS находит путь, но не гарантирует кратчайший. BFS находит кратчайший путь по числу рёбер в невзвешенном графе. Показываем полный обход достижимой компоненты, возвраты и восстановление пути по предкам. Вершина H недостижима из A. Для списка смежности время — O(V + E), дополнительная память самого алгоритма — O(V), без снимков истории визуализации. Озвучка автора, без музыки. Визуализация — AlgiViz, запись со звуком — CanvasTake. #алгоритмы #DFS #поисквглубину #программирование
- Попробуйте BFS и посмотрите код: https://grundyjs.ru/algorithms/breadth-first-search/?utm_source=rutube&utm_medium=social&utm_campaign=breadth_first_search&utm_content=vertical Выберите старт и цель, управляйте шагами и проследите за очередью. Как очередь помогает найти кратчайший путь в невзвешенном графе? Показываем поиск в ширину (BFS) шаг за шагом: открытие вершин, очередь, расстояния и восстановление пути по родителям. В примере путь из A в G — A → B → D → G: три ребра. Вершина H недостижима из A. Обходим всю достижимую компоненту, затем восстанавливаем один из кратчайших путей. BFS минимизирует число рёбер: все переходы имеют одинаковую стоимость. Для списка смежности время — O(V + E), дополнительная память самого алгоритма — O(V), без истории визуализации. Озвучка автора, без музыки. Визуализация — AlgiViz, запись со звуком — CanvasTake. #алгоритмы #поисквширину #BFS #программирование
- Проверь массив из шести чисел: https://grundyjs.ru/algorithms/selection-sort/?utm_source=rutube&utm_medium=social&utm_campaign=selection_sort&utm_content=sorted_comparisons_vertical Введи 1, 2, 3, 4, 5, 6, нажми «Применить», затем «Старт» и посмотри на счётчик сравнений. Массив уже отсортирован, но сортировка выбором всё равно ищет минимум на каждом проходе. Для пяти чисел получается десять сравнений и ни одного обмена. А сколько будет для шести? Авторская озвучка. Визуализация — AlgiViz, запись видео со звуком — CanvasTake. #алгоритмы #сортировка #программирование
- Как найти число, не перебирая весь массив? Бинарный поиск каждый раз отбрасывает половину оставшегося диапазона. Находим первую шестёрку среди повторов, затем ищем отсутствующую семёрку. В каждом из этих примеров достаточно четырёх проверок среднего элемента из шестнадцати. Попробовать на своём массиве и посмотреть код: https://grundyjs.ru/algorithms/binary-search/?utm_source=rutube&utm_medium=social&utm_campaign=binary_search&utm_content=vertical Массив должен быть отсортирован заранее. Показанный вариант возвращает первое вхождение: даже после совпадения поиск продолжается слева. Время поиска — O(log n), дополнительная память самого алгоритма — O(1). Озвучка автора. Визуализация — AlgiViz, запись видео со звуком — CanvasTake. #бинарныйпоиск #алгоритмы #binarysearch
- Две одинаковые двойки — фиолетовая и голубая. Один обмен с минимумом меняет их взаимный порядок. Так выглядит неустойчивость сортировки выбором. Попробуйте свой массив: https://grundyjs.ru/algorithms/selection-sort/?utm_source=rutube&utm_medium=social&utm_campaign=selection_sort&utm_content=instability_experiment_vertical Авторская озвучка. Визуализация — AlgiViz, запись — CanvasTake. #алгоритмы #сортировка #программирование
- Heap sort по шагам: строим максимальную кучу, извлекаем максимум и просеиваем новый корень. Интерактивный разбор и код: https://grundyjs.ru/algorithms/heap-sort/?utm_source=rutube&utm_medium=social&utm_campaign=heap_sort&utm_content=vertical Построение O(n), худшее время O(n log n). Итеративный алгоритм на месте требует O(1) дополнительной памяти, без учёта копии входа и истории визуализации. Сортировка неустойчива. Визуализация: AlgiViz. Запись MP4: CanvasTake. Без звука. #алгоритмы #сортировка #heapsort #AlgiViz
- Трёхстороннее разбиение — Quick sort по шагам. Группируем значения меньше, равные и больше опорного. После обмена справа проверяем пришедший элемент; рекурсия пропускает равную область. Интерактивный разбор и код обоих вариантов: https://grundyjs.ru/algorithms/quick-sort/?utm_source=rutube&utm_medium=social&utm_campaign=quick_sort&utm_content=three_way_vertical В среднем на случайных перестановках различных значений — Θ(n log n), в худшем случае — Θ(n²). Оба варианта нестабильны. Визуализация: AlgiViz. Запись: CanvasTake. Видео без звука. Русские субтитры доступны отдельной дорожкой на YouTube. #алгоритмы #сортировка #quicksort #AlgiViz
- Разбиение Ломуто — Quick sort по шагам. Берём последний элемент опорным, переносим меньшие значения влево и ставим опорный на окончательную позицию. Интерактивный разбор и код обоих вариантов: https://grundyjs.ru/algorithms/quick-sort/?utm_source=rutube&utm_medium=social&utm_campaign=quick_sort&utm_content=lomuto_vertical В среднем на случайных перестановках различных значений — Θ(n log n), в худшем случае — Θ(n²). Оба варианта нестабильны. Визуализация: AlgiViz. Запись: CanvasTake. Видео без звука. Русские субтитры доступны отдельной дорожкой на YouTube. #алгоритмы #сортировка #quicksort #AlgiViz
- Сортировка слиянием на примере 10 элементов: деление массива, слияние через буфер и сохранение порядка равных значений. Интерактивные алгоритмы: https://grundyjs.ru/algorithms/merge-sort/?utm_source=rutube&utm_medium=social&utm_campaign=merge_sort&utm_content=vertical 0:00 Идея алгоритма 0:06 Деление и слияние 1:07 Стабильность 1:13 Время и память 1:21 Попробуйте сами Время этой реализации — Θ(n log n), дополнительная память — O(n). История анимации хранится отдельно. Без звука. Визуализация — AlgiViz, запись MP4 — CanvasTake. #алгоритмы #сортировка #программирование
- Ищем минимум, ставим его на место и расширяем отсортированный префикс. Сортировка выбором на примере [5, 2, 4, 2, 1]: шаги, нестабильность и сложность. При любом порядке входа — n(n − 1)/2 сравнений, время Θ(n²), до n − 1 обменов. Попробуйте свой массив: https://grundyjs.ru/algorithms/selection-sort/?utm_source=rutube&utm_medium=social&utm_campaign=selection_sort&utm_content=vertical Без звука, с пояснениями в кадре. Визуализация — AlgiViz, запись напрямую в MP4 — CanvasTake. #алгоритмы #сортировка #программирование
- Сравниваем соседей, меняем их местами — и самый большой элемент оказывается справа. Если за проход не было обменов, останавливаемся. Пузырьковая сортировка на примере [5, 2, 4, 2, 1]: шаги, стабильность и сложность. Попробуйте свой массив: https://grundyjs.ru/algorithms/bubble-sort/?utm_source=rutube&utm_medium=social&utm_campaign=bubble_sort&utm_content=vertical Без звука, с пояснениями в кадре. Визуализация — AlgiViz, запись — CanvasTake. #алгоритмы #сортировка #программирование
- Берём следующий элемент, сдвигаем большие элементы вправо и вставляем ключ на его место. Так работает сортировка вставками. В ролике: шаги на примере [5, 2, 4, 2, 1], стабильность и сложность O(n²). Попробуйте свой массив в интерактивной визуализации: https://grundyjs.ru/algorithms/insertion-sort/?utm_source=rutube&utm_medium=social&utm_campaign=insertion_sort&utm_content=vertical Без звука, с пояснениями в кадре. Визуализация — AlgiViz, запись — CanvasTake. #алгоритмы #сортировка #программирование
- #anime #аниме #inspectre #kyokousuiri Ложные выводы [ТВ-1] Kyokou Suiri / In/Spectre
- #anime #аниме #2024 #iparryeverything Я парировал всё время, чтобы стать сильнейшим авантюристом Ore wa Subete wo [Parî] Suru ~Gyaku Kanchigai no Sekai Saikyô wa Bôkensha ni Naritai~ / I Parry Everything
- #аниме #anime #2026 #killblue Убивая юность Kill Ao / Kill Blue
- #аниме #anime #2026 Учитель-мизантроп в классе нелюдей Jingai Kyoushitsu no Ningengirai Kyoushi / A Misanthrope Teaches a Class for Demi-Humans
- #anime #marriagetoxin #аниме Брачный токсин Marriagetoxin Сезон 1 Серия 1
- #аниме #anime #2026 #killblue Убивая юность Kill Ao / Kill Blue
