Всё про Алгоритмы и Структуры данных
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
Поиск решений управляемый данными. Детали механизма

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

Ниже приведено техническое описание основных деталей алгоритма поиска решений управляемого данными. В конце статьи приведены блок-схема и псевдокод возможной программной реализации этой информационной технологии.

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

Алгоритмы и Структуры данных
Так как же всё-таки быстро конкатенировать строки в C++?

Всем практикующим программистам приходится конкатенировать строки. Именно конкатенировать, у нас не какой-то там JavaScript или PHP, у нас в C++ это называется вот таким заумным словом. Программисты на других языках без излишних мудрствований строки просто "складывают", даже не особо задумываясь об этой операции. Ведь что может быть проще, чем

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

Алгоритмы и Структуры данных
🔥1
VLM / VLA / World Models / Physical AI

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

Если 2022–2023 годы можно уверенно назвать периодом взрывного роста больших языковых моделей (LLM), то 2024 и начало 2025 года, на мой взгляд, стал переломным именно для визуально-языковых моделей — Visual Language Models (VLM). Из них выросли VLA — Visual Language Action модели (это когда вместо текстового аутпута поток токенов управления).

Брендинг не стоит на месте, надо придумывать что-то новое, так что в следующем году нас ждёт больше World Models и Physical AI. Что это такое люди пока не договорились, так что поговорим об этом через годик.

В статье мы поговорим как обучить VLA, когда лучше обучать VLA а когда VLM, какая разница есть во всём этом зоопарке. Всё это будет происходить на примере:

https://habr.com/ru/companies/recognitor/articles/992476/

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

Сейчас в сети можно встретить огромное количество разной литературы и курсов, которые предлагают разобраться в основах нейросетей, так зачем же нужна ещё одна подобная статья? И почему именно рекуррентные нейросети?

Что касается второго вопроса, то на него я отвечу чуть позже в этом тексте, а сейчас рассмотрим вопрос полезности этой публикации. До недавнего времени я и сам смотрел бы с сомнением на идею написания такой статьи. Изначально мне хотелось просто проверить некоторые свои идеи. Но пока я приводил в порядок все свои знания по этой теме, стараясь добиться полного понимания, я осознал, что большинство источников в основном просто повторяют друг друга. Некоторые вопросы для меня оставались не прояснёнными. Размышляя над различными моментами я подумал, что возможно эти рассуждения смогут принести пользу ещё кому-то. Так возникло желание не просто упорядочить свои мысли, но и оформить их в виде статьи.

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

Алгоритмы и Структуры данных
[По полочкам] Алгоритмы сортировок. Часть 1

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

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

Алгоритмы и Структуры данных
Принцип «Web of Trust» или как работает PGP

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

Но что это вообще такое? Википедия дает следующее определение:

PGP (англ. Pretty Good Privacy) — компьютерная программа, также библиотека функций, позволяющая выполнять операции шифрования и цифровой подписи сообщений, файлов и другой информации.

На словах ясно, но давайте посмотрим, что у него под капотом.

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

Алгоритмы и Структуры данных
🤯1
Книга «Рекурсивная книга о рекурсии»

Книга «Рекурсивная книга о рекурсии» содержит примеры кода на языке Python и JavaScript, которые иллюстрируют основы рекурсии и проясняют фундаментальные принципы всех рекурсивных алгоритмов. Из книги вы узнаете о том, когда стоит использовать рекурсивные функции (и, главное, когда этого не нужно делать), как реализовывать классические рекурсивные алгоритмы, часто обсуждаемые на собеседованиях, а также о том, как рекурсивные методы помогают решать задачи, связанные с обходом дерева, комбинаторикой и другими сложными темами.

https://habr.com/ru/companies/piter/articles/737600/

Алгоритмы и Структуры данных
Как с помощью нейронной сети снизить дозу КТ, не потеряв в качестве реконструкции

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

https://habr.com/ru/companies/smartengines/articles/733254/

Алгоритмы и Структуры данных
«Умный» бот для онлайн-версии «Битвы Големов»: от эвристики к иллюзии разума

Меня просили сделать версию моей настольной игры «Битва Големов» в онлайн варианте почти с момента ее придумывания в 2014 году. Полноценно переносить игру я в итоге не стал (да и она бесплатно доступна в Tabletop Simulator), а вот сделать мини-версию для игры с 1 или 2 ботами желание появилось.

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

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

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

Информация из этой статьи явно пригодится вам, если вы планируете или уже участвуете в соревнованиях, олимпиадах из перечня РСОШ или ВСОШ по предмету информатика (программирование).

Я расскажу о самых популярных и удобных способах тестирования, которые должен знать каждый, а также дам пару практических советов о том, что делать, когда вердикт вашего решения WA (wrong answer) или TL (time limit).

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

Алгоритмы и Структуры данных
Система частиц в The 13th Sign

Мы
с друзьями делаем инди-игру The 13th Sign, и недавно выпустили первый трейлер, он же - техническое демо. После чего в узких кругах возник широкий круг вопросов формата “как это работает”. Ниже - все детали реализации.

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

Алгоритмы и Структуры данных
Как перестать угадывать цены и довериться теории вероятностей. Хроника одного эксперимента

В прошлой своей статье я открыл для себя интересную, но неприглядную истину — что рынок это то место, где можно зарабатывать даже не зная будущего. Не угадывая направление — пойдёт вверх или вниз, не изображая из себя Вангу, а лишь правильно работая с вероятностями и размерами позиции. Если вы подбрасываете монетку и ставите 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