Всё про Алгоритмы и Структуры данных – Telegram
Всё про Алгоритмы и Структуры данных
7.93K subscribers
328 photos
36 videos
5 files
2.8K links
Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников.

Ссылка: @Portal_v_IT

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

Канал на бирже: https://telega.in/c/structuredata
Download Telegram
Как составить школьное расписание с помощью IBM CPLEX Solver

Составить расписание всегда былом делом непростым. Доверить эту задачу компьютеру решались не все, потому что задача NP-полная и алгоритмического решения «в лоб» за обозримое время не имеет (объяснение).

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

Алгоритмы и Структуры данных
5 слов из 5 букв

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

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

Алгоритмы и Структуры данных
Векторные пространства и поиск ближайших соседей на production

Иногда при решении задач классификации необходимо применять алгоритм kNN в векторных пространствах. И если при обучении всё просто и знакомо, то при выводе в production люди сталкиваются с проблемами.

В этой статье мы расскажем, как пытались реализовать алгоритм на векторных пространствах в production, с какими трудностями столкнулись и как их в итоге решили.

https://habr.com/ru/companies/skbkontur/articles/649219/

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

AI-ассистенты уже стали стандартом – от фриланса и малого бизнеса до мировых корпораций уровня Google и Яндекс. А в России они становятся ещё доступнее: благодаря нейросети GigaChat можно легально и выгодно создавать AI-ассистентов, не нарушая новый закон о персональных данных.

На бесплатном эфире от Зерокодер ты узнаешь, как создать AI-ассистента за вечер — и как начать получать с этого доход.

Что будет на эфире?

– Разберём, что такое AI-ассистенты и зачем они нужны в 2025 году;
– Научимся работать в нашумевшем Cursor и расскажем, почему он доступен и полезен не только представителям IT-сферы;
– Покажем и разберем множество примеров AI-ассистентов, создавать которых теперь можно без знания кода: для себя, своих проектов или на заказ;
– Расскажем, где использовать AI-агентов в реальных задачах — от фриланса до автоматизации бизнеса.

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

Один из самых свежих и бесплатных эфиров лета 2025 года ждет вас по ссылке.
Куда поехать в пятницу вечером, если ты в Питере. Сравнение алгоритмов геокластеризации

Всем привет, меня зовут Максим Шаланкин, в Ситимобил я занимаюсь машинным обучением. Мы постоянно принимаем решения на основе больших данных. Даже в пятницу вечером мы доверяем алгоритмам выбор места отдыха. А кто же, если не наши клиенты, лучше всего знают, где в Санкт-Петербурге можно хорошо отдохнуть?

Мы хотим найти зоны, куда чаще всего приезжают наши клиенты в пятницу вечером (точка «Б» маршрута). Для этого мы будем изучать реальные поездки в промежутке с 17 до 24 часов. В качестве примера данных возьмём небольшой фрагмент из n поездок. И при помощи алгоритмов кластеризации проанализируем точки «Б» (широта и долгота) и характер их группирования.

https://habr.com/ru/companies/citymobil/articles/649063/

Алгоритмы и Структуры данных
Demoded: разбор олдскульных демо-эффектов на примере

Привет, меня зовут bitl и я из тех, кто в детстве не наигрался с кодингом под DOS, и занимаюсь этим в 2020-х... Впрочем, я об этом уже рассказывал в прошлой статье. Тогда мы разбирались с таким явлением, как "сайзкодинг" в рамках демосцены, и как напрочь откомпилировать себе мозги. Вне зависимости - получилось это у вас, или нет, - сейчас я предлагаю почитать про другие способы.

Если сайзкодинг - это про размер, и оптимизация скорости исполняемого кода там отходит на второй план, то в данной статье речь пойдет как раз про скорость, ухищрения, трюки и просто наглый обман незадачливого зрителя с одной лишь целью: показать на древнем железе красочные и динамичные видеоэффекты под музыку и с невсратым FPS. Ну и, конечно, дизайн, олдскульный вайб, фанк, грув - всё это тоже важные составляющие, но говорить мы будем в основном про кодерскую эстетику (30-летней давности).

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

Алгоритмы и Структуры данных
2
Что такое модельно-ориентированное проектирование и как оно поможет сократить затраты на разработку сложных систем

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

https://habr.com/ru/companies/etmc_exponenta/articles/649035/

Алгоритмы и Структуры данных
Понять хаос: сложный мира муравьев и мух

С самых первых дней изучения биологии или естествознания нам рассказывают о взаимодействии видов, пищевых цепочках и иерархий. Классический пример: трава, кролики и волки. Если волков исключить из уравнения, то кролики будут размножаться и съедят всю траву и будут потом голодные; если исключить траву, то кролики вымрут и волки будут голодные; если исключить кроликов, то трава разрастется, а волки будут голодными. Этот крайне утрированный пример показывает тесную взаимосвязь всего живого, связь, которую порой крайне сложно описать четким математическим языком. Несмотря на устоявшуюся структурированность, которую мы приписываем межвидовому взаимодействию, оно куда ближе к хаосу, чем к порядку. Группа ученых из Мичиганского университета (Анн-Арбор, Мичиган, США) провели любопытное исследование трех враждующих видов муравьев и хищных мух, которое показало всю сложность попыток какого-либо предсказания динамики их взаимодействия. Что именно удалось установить ученым, какие методы были использованы, и как данное исследование связано с сельским хозяйством? Ответы на эти вопросы мы найдем в докладе ученых.

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

Алгоритмы и Структуры данных
Как создатель ZIP, Фил Катц победил в войне форматов, но проиграл в собственной

История Фила Катца — это классическая IT-драма: блестящий взлёт, жёсткая конкуренция, суды, огромный успех и, в конечном итоге, личная трагедия.

Действующие лица на старте
Том Хендерсон, деловой и целеустремленный, предприниматель создал ARC - очень популярная программа-архиватор для эпохи BBS (доинтернетных досок объявлений). Она умела сжимать и собирать файлы в один архив. Распространялась как условно-бесплатная (shareware). Её формат был стандартом де-факто.

Фил Катц - молодой, невероятно талантливый, но замкнутый и склонный к уединению программист. Он жил с матерью и был одержим оптимизацией кода. Фил Катц активно пользовался ARC. Но как настоящий хакер, он видел его недостатки: программа была не самой быстрой и эффективной.

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

Алгоритмы и Структуры данных
Программист embedded лезет в FPGA

Любой программист микроконтроллеров, Imho, рано или поздно (сейчас, скорее, рано) от одного из коллег или из статьи в интернете слышит загадочное ПЛИС или FPGA, CPLD, ПВМ — что-то такое. Если честно, то я услышал вот это загадочное, занырнул чуть-чуть, и теперь думаю, что мой опыт пригодится кому-то ещё. Если совсем честно, то статья ещё планируется как небольшая (всего в трёх частях) заметка для себя. Я когда погружался, делал пометки в текстовом файле, здесь получится их хорошо отредактированная версия.

Очень много вещей в подобных этому туториалах, которые я читал, пропускаются как сами собой разумеющиеся. Подробные инструкции куда и как тыкать есть в документации к плате разработки. Но там не хватает ответов на вопросы зачем и почему. Здесь я хочу скомбинировать 2 подхода.

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

Алгоритмы и Структуры данных
Топологический аудит ECDSA: когда геометрия защищает ваши ключи

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

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

Алгоритмы и Структуры данных
Ранг-селект словари

Это первая статья из планируемой серии про succinct data structures - это класс очень компактных структур данных. Канонический пример такой структуры - это представление дерева в виде правильной скобочной последовательности, дерево изnвершин таким образом представляется с помощью2nбит в то время как типичная динамическая реализация требовала бы как два указателя по 64-бит на каждый узел (разумеется можно немного сократить простыми оптимизациями, но даже близко 2 бита не получить). Фундамент подобных структур - это rank-select словарь, представляющий собой битовый вектор и дополнительную структуру для выполнению двух операций ранг и селект. В указанном примере с деревом с помощью ранга и селекта можно сделать базовую навигацию: найти номера потомков/родителей, узнать размер поддерева. В статье расскажу как делать эти операции быстро используя при этом всего 3,6% дополнительной памяти.

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

Алгоритмы и Структуры данных
1
Интерактивные истории на стероидах: как добавить случайность и судьбу в DSL

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

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

Алгоритмы и Структуры данных
1
Почему ваш бизнес хромает: история одного IT-ортопеда

Меня зовут Сергей Колесников. И если оглянуться на мои 32 года в профессии, то можно сказать, что я был кем-то вроде ортопеда для бизнеса. Нет, не лечил людей, но "вправлял" вывихнутые процессы и подбирал "протезы" для хромающих компаний. Но самые важные вещи о своей профессии я понял, как ни странно, не из мира технологий, а из мира медицины.

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

Алгоритмы и Структуры данных
Что такое «Action Recognition»?

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

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

Алгоритмы и Структуры данных
Искусственный интеллект? Или не совсем искусcтвенный?

Нас с ЭВМ обьединяет то, что мы реагируем на события. Человек и животное реагирует на раздражители, ЭВМ - на сигналы от периферии. В ЭВМ или МК эффект человекоподобного искусственного интеллекта даёт набор обработчиков различных ситуаций (прерываний, ошибок, исключений) - этаких машинных рефлеков. Но, как можно заметить, контекст выстраивается в машинном и человеческом интеллекте разными способами. Человек и ЭВМ сохраняют контекст по разному. В ЭВМ пришёл сигнал от периферии - выполнение предыдущей программы прерывается. Обработчик завершается - ЭВМ возвращается в прерванную программу. Человек контекст не сохраняет. Если человек возвращается к какой то прерванной задаче, то это потому что есть стойкий раздражитель. Вы читаете книгу, вам кто то звонит. А по завершении разговора, вы возвращаетесь к книге, если вы никуда не ушли, ведь книга лежит на том же месте.

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

Алгоритмы и Структуры данных
1
Парсинг Pubmed на противораковые натуральные вещества

В этой статье будет расчет натуральных веществ распарсенных с базы биомедицинских публикаций Pubmed. Для научных целей также полезно высчитывать комбинации молекул, но для этого требуется транскриптом, который можно получить добавляя лекарство на клетку HeLa.

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

Алгоритмы и Структуры данных
Новый алгоритм может снизить разобщенность пользователей соцсетей

Новый алгоритм может снизить разобщенность пользователей соцсетей

Социальные сети создавались для глобального общения, но на практике часто усиливают разобщённость. Вместо объединения людей они формируют «информационные пузыри» — изолированные сообщества, где пользователи взаимодействуют преимущественно с единомышленниками. Контент с альтернативными взглядами либо скрывается алгоритмами, либо воспринимается как враждебный. Эта онлайн-сегрегация ведёт к социальному разделению, уверенности в абсолютной правоте своей позиции и росту агрессии к «чужим».

Учёные из МФТИ, ИПУ РАН и ТГУ предложили математическое решение проблемы, изменив алгоритмы формирования социальных связей. Новый подход снижает сегрегацию пользователей с помощью анализа структуры сетей.

https://habr.com/ru/companies/sberbank/articles/940616/

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

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

А что если мы хотим тоже сделать свой интересный и уникальный лабиринт? Очевидно, нужно создать эти самые правила. Далее я постараюсь кратко, понятно и без лишних непонятных букв рассказать о разработке своего подхода к генерации различного рода лабиринтов. Объясню, почему я этим занялся, с чего начинал и как всё развилось до вполне приличного алгоритма на основе подхода и почему каждый из вас может взять этот подход за основу и адаптировать его под свои желания.

https://habr.com/ru/companies/ruvds/articles/647159/

Алгоритмы и Структуры данных
Искусство создания эффективных математических моделей

За любой математической моделью стоит субъект-создатель, который имеет свое видение моделируемых процессов, свою креативность и виртуозность владения мат. аппаратом. Эти и другие источники субьективности формируют определенный почерк автора-разработчика. Но все ли модели хороши?

Выпущено множество книг-рекомендаций про то, как писать "хороший" программный код: "Чистый код", "Совершенный код", "Программист-прагматик", "Чистая архитектура" и др. Такого рода литература задает некоторый стандарт качества и очертания "идеала".

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

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

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