uk
Feedback
Всё про Алгоритмы и Структуры данных

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

Відкрити в Telegram

Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников. Ссылка: @Portal_v_IT Сотрудничество, авторские права: @oleginc, @tatiana_inc Канал на бирже: https://telega.in/c/structuredata

Показати більше
7 766
Підписники
-224 години
-77 днів
-4530 день
Архів дописів
Сортировка слиянием revisited мТри года назад я опубликовал статью Сортировка слиянием — не так просто, как кажется, в которой решал задачу с собеседования, как построчно отсортировать огромный текстовый файл, который заведомо не влезает в оперативную память. Прошлая версия, которую я написал еще на .NET 7, справлялась за 32 минуты на моем компьютере. Большую часть времени занимало чтение-запись файлов, поэтому так применялись сжатие, параллельная обработка сортировки и ввода-вывода, а таже низкоуровневые манипуляции с массивом байт для уменьшения аллокаций. https://habr.com/ru/articles/1003358/ Алгоритмы и Структуры данных

🔥 Подписка на easyoffer PRO на 1 год со скидкой 70% easyoffer – сайт для подготовки к собеседованию на программиста, тестиро
🔥 Подписка на easyoffer PRO на 1 год со скидкой 70% easyoffer – сайт для подготовки к собеседованию на программиста, тестировщика и другие IT-профессии становится еще доступнее со скидкой 70% до 10 марта. ⚙️ Актуальные функции: 1. База вопросов из реальных технических собеседований с вероятностью встречи и примерами ответов. 2. База задач с этапа live-coding. 3. База видеозаписей 1100+ реальных собеседований, в том числе в топовые компании (Сбер, Авито, Яндекс, WB, OZON, МТС и др.) на позиции Junior/Middle/Senior. 4. База 400+ тестовых заданий от компаний. 5. Аналитика ТОП-требований из вакансий для лучшего написания резюме по ключевым словам. 6. Тренажеры для подготовки к собеседованию. В том числе тренажер «Реальное собеседование» со сценарием вопросов под конкретную компанию. Акция до 10 марта (включительно) на PRO-тариф. – Подписка действует 1 год – Доступ ко всем профессиями сразу 👉 Смотри подробности тарифа и покупай на easyoffer

Одна Rust-библиотека вместо шести Python-пакетов — или как я перестала запускать фит и идти за кофе Если вы живёте в Python и одновременно используете statsmodels, lifelines, pyhf, PyMC/BlackJAX, linearmodels (или что-то похожее). Если вам важны воспроизводимость и понятная валидация численных оптимизаций (особенно в HEP). Если вам интересна архитектура «одно вычислительное ядро → много задач» и практические hot paths (AOT, SIMD, zero-copy). TL;DR: Если под капотом у многих статистических моделей — log‑likelihood и градиент, то почему вокруг этого столько разрозненных API и рантаймов? NextStat — AOT‑компилированное ядро на Rust с Python‑обёрткой: один вычислительный слой для likelihood‑based задач (в разных доменах). Мы разделили inference‑логику и численный backend, добавили детерминированный режим (parity) и контракт толерансов для валидации. На наших бенчмарках ускорения получаются от ~4× до сотен раз в конкретных сценариях (ниже — протоколы и оговорки). https://habr.com/ru/articles/1008048/ Алгоритмы и Структуры данных

Собрал чат-бота за вечер → заработал 9 000₽. Так и работают специалисты по чат-ботам: открыл шаблон → собрал бота как конструктор → получил деньги. Работы — на 2–3 часа. Оплата — 9–15 000₽ за сборку. Никакого программирования и долгих задач. Если умеешь открыть ворд или запустить косынку — справишься. А спрос сейчас бешеный: более 10 000 предпринимателей в месяц ищут тех, кто делает ботов и авторассылки. Это одна из самых простых и пустых ниш в онлайне — бери и зарабатывай. И главное: Собрать первого бота без опыта и получить клиента — проще, чем кажется. Все инструкции лежат здесь: 👉 @other_digital_bot Кто готов кликать мышкой и брать заказы — тот спокойно накопит на отдых, машину, квартиру и любые хотелки. Пробуй: @other_digital_bot

Решение задачи с собеседования используя технику Sliding Window на Go Да, в интернете существует множество решений подобных задач, но, по моим ощущениям, они написаны сложным языком для начинающего программиста. Особенно мало материалов с примерами на Go. Когда я обучался алгоритмам, мне казалось, что данные темы можно объяснить куда проще существующих. В этой статье я пошагово разберу технику "Sliding Window" ("Скользящее окно") и покажу, как с её помощью решить задачу Longest Substring Without Repeating Characters на Go. https://habr.com/ru/articles/1007886/ Алгоритмы и Структуры данных

Почему бизнес хочет FIFO и почему это не всегда «серебряная пуля» Привет Хабр! Довольно часто на обсуждениях/созвонах слышу о том, что заказчики хотят реализовать очередность доставки с порядком. В этой статье я расскажу, почему требование FIFO зачастую является началом дорогого приключения. https://habr.com/ru/articles/1007834/ Алгоритмы и Структуры данных

Как отделаться «малой кровью» при компрометации секретных ключей Приветствую, Хабр! Одной из интереснейших тем для обсуждения из современной криптографии, на мой взгляд, является тема эволюции криптографических ключей и связанных с ними протоколов, обеспечивающих наличие ряда дополнительных полезных свойств систем, основанных на асимметричных криптоалгоритмах. Различные методы эволюции ключей (терминология не устоялась, предпочитаю использовать такой перевод словосочетания «key-evolving techniques») асимметричных криптоалгоритмов позволяют защититься от компрометации секретных ключей путем периодической модификации ключевых пар. Подобная защита направлена не на предотвращение компрометации секретного ключа, а на минимизацию последствий такой компрометации: поскольку ключи периодически модифицируются, эволюционируют, данные методы позволяют ограничиться отрицательным воздействием компрометации ключа на свойство целостности или конфиденциальности сообщений, зашифрованных или подписанных только в течение определенного, относительно короткого периода, оставляя защиту сообщений других периодов ненарушенной. https://habr.com/ru/companies/aktiv-company/articles/739090/ Алгоритмы и Структуры данных

Нам не подошла ни одна среда для MARL в непрерывном пространстве — поэтому мы сделали CAMAR Представьте задачу: есть куча роботов, и им всем надо куда‑то добраться, не столкнувшись с собратьями, а мы должны придумать для этого алгоритм. Это, если упрощать, и называется многоагентным планированием или MAPF — Multi‑Agent Pathfinding. Обычно работу принято начинать с ограничения на то, что агенты двигаются только по квадратной сетке или графу. Но для реальных приложений нам, конечно, нужно переходить к непрерывному пространству, и тут кроется одна проблема. Многие из существующих сред и симуляторов либо слишком примитивны, либо настолько физически детальны, что проводить масштабные эксперименты в них слишком долго либо даже невозможно. В общем, мы в команде «RL агенты» Лаборатории когнитивных систем искусственного интеллекта AIRI сделали свою среду‑бенчмарк под названием CAMAR, где можно обкатывать модели многоагентного обучения с подкреплением в непрерывном пространстве. Мы представили нашу статью про CAMAR на Main Track конференции AAAI‑2026 и на воркшопе WoMAPF’26 (тоже часть AAAI-2026). Заодно я, стажер‑исследователь команды и студент магистратуры ЦКМ МФТИ по имени Артём Пшеницын, решил рассказать о нашей разработке на Хабре. https://habr.com/ru/companies/airi/articles/1006040/ Алгоритмы и Структуры данных

2 года, 7 попыток, 0 распознанных бордюров: как мы учились детектить ДТП в реалтайм без датасета Привет, Хабр! Это команда дата-сайентистов Magnus Tech. В этом посте мы расскажем, как работали над одним общественно полезным проектом — алгоритмом, который распознает ДТП по видео с дорожных камер. Кейс будет интересен широкому кругу разработчиков, которые занимаются технологиями машинного зрения и обучения. В нем — наш долгий путь из множества попыток сделать точный алгоритм, несмотря на его настойчивые попытки быть неточным. За два года мы наступили на все возможные грабли, протестировали уйму гипотез и подходов к задаче. В итоге пришли к рабочему алгоритму, который, наконец-то, научился отличать машины от бордюров. В этом посте мы поделимся инсайтами, расскажем о неудачных гипотезах, распишем архитектуру последней версии нашего алгоритма и объясним, почему для выхода на прод нам все-же понадобится датасет. https://habr.com/ru/companies/magnus-tech/articles/738836/ Алгоритмы и Структуры данных

ИИ будет писать код. Но кто возьмёт ответственность за жизнь программного обеспечения? Но настоящая проблема ближайших десятилетий будет заключаться не в написании кода — а в ответственности за цифровые системы, которые мы запускаем в мир. Впервые в истории человечество может генерировать программное обеспечение быстрее, чем способно понимать создаваемые системы. На протяжении многих лет индустрию программного обеспечения волновал один вопрос: Кто будет писать код? https://habr.com/ru/articles/1007562/ Алгоритмы и Структуры данных

Нейросеть без нейросети: как обучить классификатор Iris через SAT и запустить это на GPU В прошлой статье я показывал,как мы в AGIQ Solver Enterprise применили квантово‑вдохновлённый популяционный подход на GPU для NP‑задач и получили ускорение на практических постановках в 50–100 раз по сравнению с последовательным перебором и плохо распараллеливаемыми схемами. Сегодня — следующий шаг:покажу,как задачи машинного обучения можно кодировать в SAT/MaxSAT, а затем решать обычным NP‑солвером — тем же AGIQ Solver Enterprise. https://habr.com/ru/articles/1007052/ Алгоритмы и Структуры данных

Обзор книг аналитика данных Привет! Меня зовут Таня, я аналитик данных и люблю бумажный формат книг (если есть сомнения, сначала пробую электронную версию, но, если книга заходит, всегда беру бумажную версию). В этой статье честный обзор без рекламы, тех книг, которые я купила не так давно в бумажном формате. https://habr.com/ru/articles/1007024/ Алгоритмы и Структуры данных

Неплоский мир: как мы делаем рельеф настоящим У нас в 2ГИС давно проходят эксперименты, связанные с рельефом. Мы это делаем не только для того, чтобы получить красивую завораживающую картинку, но и чтобы дать возможность пользователям глубже погружаться в окружающую среду, лучше ориентироваться на местности и принимать решения, от которых зависит качество прогулки или путешествия, комфорт и экономия времени и средств. https://habr.com/ru/companies/2gis/articles/1004084/ Алгоритмы и Структуры данных

Неплоский мир: как мы делаем рельеф настоящим У нас в 2ГИС давно проходят эксперименты, связанные с рельефом. Мы это делаем не только для того, чтобы получить красивую завораживающую картинку, но и чтобы дать возможность пользователям глубже погружаться в окружающую среду, лучше ориентироваться на местности и принимать решения, от которых зависит качество прогулки или путешествия, комфорт и экономия времени и средств. https://habr.com/ru/companies/2gis/articles/1004084/ Алгоритмы и Структуры данных

Нашли любопытный разбор про то, как в бигтехе разрабатываются, релизятся и умирают фичи. Формат простой: берут вымышленную идею — сториз в трекере привычек — и разбирают, что с ней происходит внутри большой компании на каждом этапе. Первая часть — как раз про этап идеи и рутинные процессы внутри корпораций. Авторы тоже из бигтеха, причем и российского, и зарубежного. Если хочется понять, как на самом деле устроена работа в больших компаниях, настоятельно рекомендуем. Вот ссылка на первую часть: https://youtu.be/szzptUNS1Vw.

Головоломка Ханойские башни на Java Головоломка Ханойские башни (или Ханойская башня, или Towers of Hanoi) – классический пример задачи, в которой лучшее и самое наглядное решение основывается на рекурсии. Кроме того, эта задача иногда встречается на собеседованиях. Тем удивительнее, что последняя статья (хотя и весьма обстоятельная), посвященная этой задаче на Хабре датируется 2013-м годом и решение приводится на Delphi. Давайте исправим эту печальную ситуацию! https://habr.com/ru/articles/1006476/ Алгоритмы и Структуры данных

Одна формула, позволяющая понять 3D-графику Учась в школе, я обнаружил очень простую математическую формулу, о которой не перестаю думать и сегодня. Смысл её в следующем: представьте, что у вас есть 3D-точка в воображаемом 3D-пространстве за экраном. Для проецирования этой 3D-точки на экран нужно взять её координату X, поделённую на Z, и аналогично её Y / Z. И в результате вы получите проекцию точки на экран: x'=\frac{x}{z} и y'=\frac{y}{z}. А если у вас есть множество точек в этом 3D-пространстве за экраном, и вы начнёте их анимировать и вращать их, а потом воспользуетесь этой формулой для рендеринга всех точек на экране, то это будет выглядеть, как 3D-сцена или 3D-объект. Давайте попробуем эту формулу в деле. https://habr.com/ru/companies/ruvds/articles/1003014/ Алгоритмы и Структуры данных

Как я написал радар межбиржевых спредов на Python и понял, почему 90% публичных ботов считают прибыль неправильно Я занимаюсь фьючерсным межбиржевым арбитражем. Для тех, кто не знает про что пойдет речь, суть простая: один и тот же контракт (например, ETHUSDT perpetual) торгуется на нескольких биржах одновременно. Цены всегда немного отличаются. Покупаешь где дешевле, продаёшь где дороже - разница твоя, независимо направления рынка и от того, куда же дальше пойдет цена. Казалось бы, звучит все максимально элементарно, но на практике обнаруживается куча подводных камней. За несколько месяцев я написал систему, которая параллельно мониторит 4 биржи (Bybit, MEXC, BingX, HTX), рассчитывает спреды по ~450 торговым парам (число зависит от наличия контрактов на биржах) каждые 5 секунд, сохраняет историю в базу данных на PostgreSQL и ищет устойчивые паттерны. В процессе написания я наступил на всевозможные логические грабли и понял, как сделать так, чтобы мой арбитражный бот не показывал прибыль, которой не существует на практике. В этой статье - три ключевых урока, которые мне пришлось усвоить, каждый из которых стоил мне дней отладки. https://habr.com/ru/articles/1006446/ Алгоритмы и Структуры данных

Big O от абстракции на собеседованиях к реальному коду "Этот алгоритм работает за O(n log n)", часто вспоминается эта фраза, когда мы хотим пойти на собеседование, звучит как что-то абстрактное из учебников по алгоритмам. На самом деле Big O — это практичный инструмент описания производительности функции без привязки к конкретному железу или времени выполнения. https://habr.com/ru/articles/1006340/ Алгоритмы и Структуры данных