Всё про Алгоритмы и Структуры данных
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
В поисках 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/

Алгоритмы и Структуры данных
Базовая модель для персонализированных рекомендаций Netflix

Персонализированная рекомендательная система Netflix устроена довольно сложно. В её состав входят различные специализированные модели машинного обучения, каждая из которых ориентирована на решение особых задач, в том числе — на обслуживание разделов «Continue Watching» («Продолжить просмотр») и «Today’s Top Picks for You» («Сегодняшние топ-рекомендации для вас»). (Подробности об этом вы можете найти в нашем недавнем обзоре). Но по мере того, как мы расширяем используемый нами набор алгоритмов персонализации, стремясь соответствовать растущим бизнес-потребностям, поддержка рекомендательной системы становится довольно-таки затратной. Более того, мы столкнулись со сложностями при переносе инновационных решений из одной модели в другую. Это так из-за того, что большинство моделей обучаются независимо друг от друга, хотя и пользуются одними и теми же источниками данных. Всё это логично привело к возникновению необходимости в новой архитектуре рекомендательной системы, где модели обучаются предпочтениям пользователей централизованно. Это расширяет доступность и полезность результатов обучения одних моделей для других моделей.

https://habr.com/ru/companies/wunderfund/articles/993766/

Алгоритмы и Структуры данных
Китайская нейросеть, которая заменяет подписку на GPT — бесплатно и оффлайн

2026 год – новая эпоха для DeepSeek. Китайская нейросеть работает прямо на вашем устройстве, обгоняет западные модели и снимает все ограничения: без подписок, без VPN, без контроля.
Зерокодер обновил практикум и собрал всё, что важно знать о локальных моделях и как с ними работать.

⚡️Что ждёт вас на вебинаре?

– Покажем, как установить DeepSeek R1 на компьютер и пользоваться нейросетью без интернета, подписки и передачи данных в облако;
– Расскажем про преимущества DeepSeek и сравним его с ChatGPT;
– Объясним, чем отличаются версии DeepSeek и какие модели использовать для текста, кода, анализа данных, обучения и исследований.
– Покажем, как монетизировать навыки работы с локальными ИИ и как работать быстрее GPT бесплатно.

Регистрируйтесь прямо сейчас

Все участники получат готовые гайды и инструменты для работы с нейросетями. Эфир подойдет всем, кто хочет сэкономить время, монетизировать навыки и оставаться в тренде технологий 2026 года.

Бесплатный практикум – по ссылке.
1
Трансформер своими руками: с нуля до Numpy реализации и обучения

В этой статье пойдет речь об одной из самых сложных и интересных архитектур — трансформере, лежащей в основе современных моделей от OpenAI и Google DeepMind. И это не научпоп для обывателя с наивным уровнем объяснения, а полноценный учебный материал, который поможет вам понять работу трансформера на фундаментальном уровне без черных ящиков типа TensorFlow и Pytorch.

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

Алгоритмы и Структуры данных
1👍1
P =? NP: самая дорогая задача в мире, которая может перевернуть всё

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

Именно в этом ключике лежит суть проблемы P =? NP — величайшей нерешённой задачи теоретической информатики. За её решение Институт Клэя назначил премию в $1 000 000. Но дело не в деньгах. Дело в фундаменте нашего цифрового мира. Если эта задача будет решена, последствия будут сопоставимы с научной революцией или даже сильнее.

https://habr.com/ru/companies/timeweb/articles/989676/

Алгоритмы и Структуры данных
Алготрейдинг по Фибоначчи 0.5: от гипотезы до realtime-бота на BingX

В этой статье разберём полный цикл разработки торговой системы: от формализации идеи до запуска реального бота на фьючерсной бирже. Проект состоит из двух частей: скрипта бэктеста (Back.py), realtime-бота (Realtime.py).

Цель статьи — показать не только торговую идею, но и инженерную реализацию: архитектуру, контроль состояния, обработку данных, синхронизацию, и различие между backtest-движком и real-time исполнением.

Оба файла загружены на GitHub. Советую работать с файлом на протяжении статьи, так как не все функции описаны целиком, многие базовые моменты + зеркальное логика опущены.

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

Алгоритмы и Структуры данных
Мозг вместо процессора: нейроморфный компьютер и сложные уравнения

Вычислительные машины проделали долгий путь «эволюции» от устройств, занимающий целые комнаты, до носимых гаджетов. При этом разительное изменение присутствует не только в габаритах, но и в вычислительной мощности. То, что казалось невозможным для первых компьютеров, стало обыденностью для современных. Однако далеко не все вычисления могут быть выполнены на обычных ПК, которые есть практически в каждом доме. Для некоторых требуются суперкомпьютеры, которые не только больше, мощнее и быстрее, но и более требовательные в рамках энергопотребления. Группа ученых из Сандийских национальных лабораторий (США) разработали новый нейроморфный компьютер, которые имитирует структуру и работу мозга человека и способен решать сложные уравнения, лежащие в основе физических симуляций — то, что ранее считалось возможным только для энергоемких суперкомпьютеров. Из чего сделан этот компьютер, каков принцип его работы, и насколько он умен? Ответы на эти вопросы мы найдем в докладе ученых.

https://habr.com/ru/companies/ua-hosting/articles/1000310/

Алгоритмы и Структуры данных
Поиск программеров для устройств на процессорах Qualcomm

Предыдущая статья 24 года на Хабре (https://habr.com/ru/articles/839936/) закончилась на вопросах, одним из которых был: «Для процессоров Snapdragon 8+ Gen1 используются программеры версии 7. Будет ли их поддержка в FhF?». Только сейчас я готов рассказать, что именно изменилось в алгоритмах обработки команд по протоколу Sahara v3, и вернуться к разбору кода программеров, теперь уже для версии 7. Поддержка уже реализована в новых версиях Firehose-Finder (https://github.com/hoplik/Firehose-Finder). Код открытый, можно ознакомиться с любой его частью, кроме идентификатора телеграмм-бота. Так как официальной документации по работе с протоколом и программерами не нашлось (библиотека знаний Qualcomm стала не доступна), пришлось весь этот алгоритм расписывать самостоятельно. В связи с этим возможны неточности или частичная некорректная работа (не так, как предусматривал производитель оборудования). Идею об изменении команды запроса идентификаторов процессора для Sahara v3 я подсмотрел в открытом репозитарии наших китайских друзей (https://github.com/xiriovo). За что им огромное спасибо!

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

Алгоритмы и Структуры данных
Методология: Поиск значений Cheat Engine

Эта статья ориентирована на начинающих пользователей Cheat Engine. Здесь собраны базовые рекомендации, методологические подходы и разборы типичных сценариев, с которыми можно столкнуться при попытке найти нужный адрес.

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

Алгоритмы и Структуры данных
Цена риска: как ML-модели решают, какой процент по кредиту вы получите

Почему два человека, у которых один и тот же заработок и кредитная история, могут оказаться обязаны платить совершенно разные проценты по одному и тому же займу? В этой статье мы посмотрим, как устроены банковские системы определения ставок, рассмотрим настоящие примеры дискриминации от Ally Bank и Test-Achats, и продемонстрируем, как деревья решений и градиентный бустинг используются для оценки того, сможете ли вы расплатиться – и как эти методы могут быть неверными.

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

Алгоритмы и Структуры данных
Wikontic: строим графы из текстов, используя онтологию и LLM

Привет, Хабр! Это Алла, я работаю исследователем в команде «Модели с памятью» Лаборатории когнитивных систем искусственного интеллекта Института AIRI и занимаюсь исследованиями на стыке графов знаний и языковых моделей. Ранее я уже писала на Хабре статью про построение графов знаний из текстов по мотивам одной из наших публикаций.

Мы активно продолжаем работать дальше и создали Wikontic — полноценный пайплайн для этой задачи. Недавно мы представляли его на интерактивной демо‑сессии на AAAI 2026 в Сингапуре — про это несколько дней назад вышел хабр от моего коллеги Айдара. Здесь я расскажу подробнее о том, как устроен новый пайплайн, и какие идеи пришли к нам в голову при его создании.

https://habr.com/ru/companies/airi/articles/1000720/

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