Как простая структура данных из 1960-х годов делает ваши приложения Android невероятно быстрыми.
Мы с Денисом Степановым взялись за нелегкую задачу – разобраться, что же именно там происходит!
Расширяющееся дерево, также известное как косое дерево — это разновидность самобалансирующегося двоичного дерева поиска, в котором недавно использованные элементы поднимаются ближе к корню.
Фильтр Блума — мощный инструмент, если вы готовы мириться с редкими ложными срабатываниями ради высокой скорости и экономии памяти.
Метод рекурсивного спуска — это один из самых понятных и популярных методов синтаксического анализа, особенно когда вы пишете парсер вручную. Он основан на использовании рекурсивных функций,...
В этой статье мы подробно разберём, что такое топологическая сортировка, когда её можно использовать, какие есть алгоритмы её построения, и каковы реальные примеры применения.
Reflection-based diffing algorithm — это мощный инструмент для анализа различий между объектами на лету.
Они расскажут, зачем необходимо писать код и почему писать код на собеседовании вредно.
«Разделяй и властвуй» — это не просто красивая формула. Это мощный инструмент в арсенале программиста, позволяющий проектировать эффективные, масштабируемые и удобные для поддержки решения.
Монотонный стек — мощный инструмент для решения задач на массивы, особенно когда нужно находить ближайшие большие/малые элементы.
Симплекс-метод — это мощный инструмент, который помогает решать сложные задачи распределения ресурсов.
Жадные алгоритмы – это мощный инструмент для решения задач, где можно принимать локальные решения без пересмотра.
Для заданной строки задана строка s, найдите длину самой длинной подстроки без повторяющихся символов.
Сортировка слиянием — это эффективный алгоритм сортировки, основанный на принципе «разделяй и властвуй».
Напишите функцию для поиска самой длинной строки с общим префиксом среди массива строк.
Вам даны два непустых связанных списка, представляющих два неотрицательных целых числа. Цифры хранятся в обратном порядке, и каждый из их узлов содержит одну цифру. Сложите эти...
Алгоритм "Скользящее окно" можно представить как просмотр фиксированного фрагмента данных, который движется вдоль всего массива или строки.
Главное в ней - это придумать решение, а сам код пишется буквально в несколько строчек.
Дано целое число x, верните true, если x является палиндром (читается одинаково слева на право и с право на лево) и false в противном случае.
Сортировка кучей особенно полезна, когда требуется сортировка большого объема данных и важна стабильная производительность.