Всё про Алгоритмы и Структуры данных
7.76K subscribers
344 photos
37 videos
5 files
3.15K links
Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников.

Ссылка: @Portal_v_IT

Сотрудничество, авторские права: @oleginc, @tatiana_inc

Канал на бирже: https://telega.in/c/structuredata
Download Telegram
Как перестать угадывать цены и довериться теории вероятностей. Хроника одного эксперимента

В прошлой своей статье я открыл для себя интересную, но неприглядную истину — что рынок это то место, где можно зарабатывать даже не зная будущего. Не угадывая направление — пойдёт вверх или вниз, не изображая из себя Вангу, а лишь правильно работая с вероятностями и размерами позиции. Если вы подбрасываете монетку и ставите 100% на орла — вы банкрот при первом же выпадении решки. Но если вы дробите капитал по формуле Келли или используете ребалансировку, вы можете зарабатывать даже при череде неудач.

https://habr.com/ru/articles/993978/

Алгоритмы и Структуры данных
Совет на 2026 год — освойте ВАЙБ-КОДИНГ. ИИ уже пишет код, чинит баги, генерит тесты и документацию быстрее и качественнее любой команды айтишников

И те, кто научится вайбкодить сейчас, будут зарабатывать в разы больше тех, кто всё ещё делает всё вручную

Разобраться в этом с нуля поможет канал Вайб-кодинг. Там простым языком разбирают, какие инструменты действительно стоит использовать, как собирать проекты от идеи до релиза и что сейчас актуально в вайбкодинге

Подписывайтесь, нас уже 15 тысяч: @vibecoding_tg
1
Новогодний переполох X Яндекс Доставка

Всем привет, любители экспресс доставки до клиента! Я тут на неделе узнал прикольный кейс при работе с Яндекс Доставкой, который стрелял так, что дорогие оффера Яндекса все таки пробивали первую линию обороны и выбирались как целевые при экспресс доставке до клиентов Sunlight. Я думал, что мы готовы к праздникам а оказалось, что не совсем

https://habr.com/ru/articles/994974/

Алгоритмы и Структуры данных
SIMDe, дополнение к DOD архетектуре

Для начала хочу сказать огромное спасибо всем, кто прочитал и прокомментировал мою прошлую статью про Data-Oriented Design.

Честно говоря, я ожидал дискуссии, но такой накал страстей вокруг кэш-миссов, структур данных и «смерти ООП» меня приятно удивил. Приятно видеть, что оптимизация и понимание того, как данные текут через железо, всё еще волнуют сообщество.

Я внимательно изучил все ваши аргументы — от «компилятор сам всё сделает» до «это невозможно поддерживать в реальных проектах». И вместо того, чтобы отвечать каждому в ветке комментариев, я решил подготовить этот материал.

Многие из вас совершенно справедливо заметили: DOD — это круто, но какой в нем смысл, если мы упираемся в зоопарк архитектур? Мы раскладываем данные в памяти идеально ровно, но как только пытаемся применить к ним SIMD-инструкции (чтобы получить тот самый 10-кратный буст), мы попадаем в ловушку вендор-лока. Написал под Intel — не работает на ARM. Написал под ARM — не заведется в браузере.

https://habr.com/ru/articles/995072/

Алгоритмы и Структуры данных
👍1
База по графовой СУБД Neo4j

Последние полтора года я почти каждый будний день работаю с графовой СУБД Neo4j. В эту статью я поместил основы, которые в худшем случае сильно расширят ваш технический кругозор, а в лучшем - станут отправной точкой для изучения графовых СУБД. Я постарался понятно изложить важные моменты, которые разбросаны по разным книгам и статьям, чтобы вам было проще познакомиться с Neo4j.

https://habr.com/ru/articles/994950/

Алгоритмы и Структуры данных
Гиперсети: нейронные сети для обработки иерархических данных

В этом посте мы проанализируем иной подход, а именно создание гиперсетей. С их помощью можно научить нейронные сети адаптироваться к датасету. Гиперсеть не будет заучивать одно фиксированное отображение, а освоит генерацию параметров другой сети на основании датасета, полученного в качестве эмбеддинга. В результате получится модель, способная:

https://habr.com/ru/articles/995346/

Алгоритмы и Структуры данных
1
Мой опыт решения 50 задач по динамическому программированию из LeetCode-плана за 24 дня

Всем привет! Я решил углубленно изучить динамическое программирование и поделиться с вами опытом. Недавно я обнаружил довольно интересный план обучения на LeetCode (https://leetcode.com/studyplan/dynamic-programming/), взял его за основу - и полностью завершил, решив все задачи (50/50).

https://habr.com/ru/articles/995376/

Алгоритмы и Структуры данных
Окончательно разбираем списки в питоне

Какая структура данных стоит за list? Как быстро отрабатывает операция append? Эти вопросы часто задают на собеседованиях, и чтобы на них отвечать, нужно понимать, как список работает под капотом. В этой статье разберём, как же устроен список в питоне, копнём на уровень CPython и позапускаем код. После прочтения вы будете знать о списках больше, чем ваши коллеги.

Эта статья предполагает, что у читателя есть какая‑то база: понимание, как работает память, и что такое О большое. Если нет, можно начать с видео‑версии, там больше визуала и примеров с собеседований. В видео также есть про изменяемость списков и про то, почему нужно использовать copy() вместо =. Данная статья является более углублённым разбором.

https://habr.com/ru/articles/989942/

Алгоритмы и Структуры данных
1
Хеш-таблица это не О(1)

Нет лучше способа в чем-то разобраться, чем написать свою реализацию.

Создадим базовую версию хеш-таблицы, выясним, когда операция добавления, удаления и получения значения по ключу выполняется не за константное время.

https://habr.com/ru/articles/995544/

Алгоритмы и Структуры данных
2
10 структур данных, которые вы должны знать (+видео и задания)

Бо Карнс – разработчик и преподаватель расскажет о наиболее часто используемых и общих структурах данных. Специально для вас мы перевели его статью.

https://proglib.io/p/data-structures

Алгоритмы и Структуры данных
1
Сортировки в гифках: 8 самых популярных алгоритмов

Краткий гайд пригодится новичкам, расскажет о видах и способах сортировки. Для лучшего усвоения и наглядности процесса каждый вид сопровождается gif-анимацией.

https://proglib.io/p/sort-gif

Алгоритмы и Структуры данных
В поисках O(n): как научиться видеть эффективные решения задач

Привет, Хабр! Сегодня разберём простую на первый взгляд, но очень показательную задачку: найти максимальное произведение двух чисел в массиве целых чисел.

На собеседованиях, в олимпиадах или даже в реальных задачах часто возникают простые на вид задачи, за которыми скрывается важный урок: правильный выбор алгоритма решает всё.

Казалось бы — что сложного скрывает поставленная задача о нахождении максимального произведения двух чисел? Но в зависимости от подхода решение может работать за O(n^2), O(n log n) или O(n).

https://habr.com/ru/articles/996212/

Алгоритмы и Структуры данных
1
Я заразил 200 нейросетей вирусом. К 20-му поколению они выработали иммунитет — и разучились думать

Лёха — единственный биолог среди моих друзей. Мы сидим в баре, он тычет телефоном мне в лицо. На экране — чашка Петри. В колонию бактерий вливают бактериофаги. Бактерии лопаются. Колония редеет. Тает. Исчезает.

Перематывает на сутки.

Колония на месте. Как ни в чём не бывало.

«Выжившие передали устойчивость потомкам. Они не понимают вирус. Перебирают мутации, пока что-то не сработает. А потом это наследуется».

Я смотрю на экран и думаю совсем про другое. Вчера Карпати выложил microGPT — минимальную архитектуру GPT, которую можно уместить на двух экранах. Attention, эмбеддинги, генерация — всё на месте. Никаких фреймворков размером с авианосец. Весь алгоритмический контент, необходимый для обучения языковой модели, в одном файле.

https://habr.com/ru/articles/996244/

Алгоритмы и Структуры данных
1
Архитектура «Обратного Хэша»: Нейросети без умножения

Современный Deep Learning уперся в производительность вычислений с плавающей точкой и пропускную способность памяти. Мы предлагаем архитектуру, где нейрон — это не сумма произведений, а битовая хэш-функция. Ноль умножений, ноль сложений. Только логика и статистика.

https://habr.com/ru/articles/996268/

Алгоритмы и Структуры данных
Маски, Каскады, использование масок вместо циклов(В некоторых случаях) + Атомарные инструкции

Сегодня я решил закрыть трилогию статей, а закончи парой не мало важных тем. Хочу сказать огромное спасибо тем кто активничает и задает вопросы. Ну что ж, начнем.

https://habr.com/ru/articles/996432/

Алгоритмы и Структуры данных
Монотонный стек: описание и примеры применения

В этой статье хотел бы рассказать о структуре данных под названием монотонный стек (monotonic stack) и разобрать несколько примеров задач в решении которых он применим.

Статья может быть интересна любителям решать алгоритмические задачи, в особенности тем кто готовится к собеседованию.

https://habr.com/ru/articles/996802/

Алгоритмы и Структуры данных
50 LLM-клеток пытались построить организм. Вот что получилось

В 1970 году математик Джон Конвей придумал игру без игроков.

Сетка. Клетки. Три правила. Меньше двух соседей — умираешь от одиночества. Больше трёх — от тесноты. Ровно три соседа рядом с пустой клеткой — рождается новая.

Всё.

Из этого появились глайдеры — структуры, которые ползут по полю. Пушки, которые стреляют глайдерами. Компьютеры внутри игры, способные вычислять что угодно. Целая вселенная — из трёх строчек логики.

Но вот что не давало мне покоя.

Клетки в «Жизни» не выбирают. Они подчиняются. Правило сработало — клетка умерла. Никаких переговоров.

А что, если дать клеткам мозг?

https://habr.com/ru/articles/996836/

Алгоритмы и Структуры данных
Про LRU-кэш (в том числе — на собеседовании) — 3 способа реализации

LRU-кэш это популярная структура данных, хранящая пары ключ-значение, но в отличие от обычной "мэпы", ограниченная по размеру - более старые (Least-Recently-Used) записи "вытряхиваются" при переполнении. Он популярен как в повседневной работе так и на собеседованиях (видимо в качестве альтернативы заезженным алгоритмам сортировок). Собственно под влиянием небольшого спора с интервьюером и родилась эта заметка :)

Огорчает, что обычно подразумевают конкретно "классическую" реализацию с мэпой и двухсвязным списком. В некоторых языках (Java) даже в стандартную либу входит такая комбинация (LinkedHashMap).

А на деле способов реализации можно найти или придумать много - в этом смысле задачка тем и хороша что простор для "пошевелить мозгами" очень большой. Я собираюсь здесь показать как от "классического" способа прийти к более простым вариантам (без списка - с таймстемпами или с поколениями). Как в инженерной практике так и на собеседовании - чем проще, тем лучше - правда? И мы проанализируем и проверим, проседает ли быстродействие (а может наоборот улучшается?)

https://habr.com/ru/articles/995916/

Алгоритмы и Структуры данных
1
Не «как быстрее», а «как лучше»: новое ML-ранжирование маршрутов в Яндекс Картах

Раньше маршруты на Картах ранжировались по времени в пути: работал принцип «самый быстрый — самый первый». Но в реальном мире скорость не всегда равна удобству и пользователь мог оказаться в ситуации, что маршрут вроде бы позволяет добраться до конечной точки быстрее, но придётся долго разбираться, а куда вообще ехать.

Теперь ранжированием маршрутов занимается ML‑модель, которая обучена на реальном поведении пользователей. Она учитывает не только время, но и то, по каким маршрутам водители доезжают до конца. Поэтому сейчас первый вариант — тот, который вы, скорее всего, выбрали бы сами.

Я Илья Хохлов, руководитель службы разработки сервисов маршрутизации. Наша команда отвечает за ключевые алгоритмы навигации в Картах и в Навигаторе: маршрутизацию, прогноз времени в пути и позиционирование. В этой статье я расскажу о том, как мы переосмыслили ранжирование маршрутов в навигации на Картах и в Навигаторе: как именно ML‑модель понимает, какой маршрут предлагать первым, и как это решение повлияло на количество сходов с маршрута.

https://habr.com/ru/companies/yandex/articles/994422/

Алгоритмы и Структуры данных