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

Ссылка: @Portal_v_IT

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

Канал на бирже: https://telega.in/c/structuredata
Download Telegram
JavaScript Live-Coding: Мастерство решения типовых задач на собеседованиях

Искусство live-coding в JavaScript становится все более важным для успешной карьеры веб-разработчика. Если ты стремишься преуспеть на собеседованиях и проявить свои навыки в реальном времени, то эта статья для тебя. Я предлагаю тебе углубиться в мир типовых задач на собеседованиях в разделе live-coding, где ты сможешь проявить свои знания JavaScript. В этой статье мы рассмотрим популярные задачи, подходы к их решению и дам полезные советы, которые помогут тебе справиться с этим вызовом. Давай начнем погружение в мир JavaScript и подготовимся к успешным собеседованиям!

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

Алгоритмы и Структуры данных
Как зарабатывать на бирже, не предсказывая цену: математика против ML-интуиции

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

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

Многие в статье про машинное обучение на Московской бирже пришли ко мне с советами или с критикой моего подхода в комментариях, но один человек связался со мной и подсказал, что на рынок можно смотреть совершенно по‑другому. Без угадывания цен, без работы с таймфреймами, опираясь только на цену.

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

Алгоритмы и Структуры данных
🔥1
Как Питолис мир создавал

ВНИМАНИЕ!!! Здесь у меня представлен прототип, который мне кажется интересным сам по себе. По-хорошему, его следует ещё долго доводить до ума. Может, когда-нибудь, я вернусь к нему с новыми силами.

Карту я решил делать максимально логичной и физичной. То есть, реки должны течь строго сверху вниз, а дороги между городами - петлять между холмов и огибать пустыни, а не идти напрямик. План у меня в итоге получился примерно таким:

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

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

Перед вами лист материала и список деталей, которые нужно из него вырезать. Металл, ткань, пластик, стекло — не важно. Задача одна: разместить прямоугольники так, чтобы отходов было минимум.

Ручной подбор вариантов отнимает часы, а полный перебор невозможен. Часто останавливаешься на первом более-менее удачном варианте, хотя чувствуешь — должно быть лучше.

Что если делегировать эту рутину компьютеру? Не просто перебор, а «умный» поиск, похожий на естественный отбор в природе.

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

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

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

Алгоритмы и Структуры данных
👍2
Оптимизация маршрутов доставки заказов маркетплейса или как мы победили в E-CUP 2025

Хабр, привет! Недавно завершилось ML-соревнование E-CUP 2025. Наша команда из X5 Tech заняла первое место в треке «Логистика: автопланирование курьеров», где было нужно оптимизировать время, затрачиваемое курьерами на доставку 20 000 заказов. В статье расскажем про подходы, которые использовали для решения этой задачи. Посмотрим, во сколько раз можно сжать JSON с матрицей расстояний. Какой код мы использовали для быстрого решения задачи TSP с помощью LKH-3. Обсудим, на что обращать внимание при кластеризации заказов.

https://habr.com/ru/companies/X5Tech/articles/989466/

Алгоритмы и Структуры данных
Почему Andrej Karpathy использует SVM в 2026 году (и вам тоже стоит)

Andrej Karpathy — один из ведущих специалистов в области глубокого обучения и компьютерного зрения. Он ранее занимал должность Director of AI в Tesla, где руководил командой Autopilot Vision, и является соавтором и основным преподавателем курса Stanford CS231n (Convolutional Neural Networks for Visual Recognition) — одного из самых влиятельных академических курсов по нейросетям. Его опыт охватывает как фундаментальные исследования, так и практическое применение современных нейросетевых моделей в промышленности.

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

Алгоритмы и Структуры данных
👍1
Идентификация звёзд и при чём тут сингулярное разложение

И знаете, с этим трудно не согласиться! Сингулярное разложение матриц (Singular Value Decomposition) используется в алгоритмах сжатия данных, теории автоматического управления, машинного обучения и много где ещё. Поскольку SVD не является главным объектом исследования данной статьи, я предоставляю читателю возможность самостоятельно ознакомиться с примерами ниже. Если же сингулярное разложение не вызывает вопросов, то перейдём к самому интересному!

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

Алгоритмы и Структуры данных
👍1
Вероятности и .NET: сравниваем библиотечные решения для оценки спортивных событий и не только

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

В Altenar, разработчике решений для зарубежных операторов спортивных прогнозов, такие модели — часть большой системы. Моя команда работает над реализацией алгоритмов расчёта таких вероятностей.

В этой статье рассказываю, как формулируется гипотеза, как из неё строится модель, почему это важнее, чем «просто посчитать формулу», и как мы выбирали между несколькими .NET-библиотеками по точности и скорости. Всё на примере тенниса. Это один из самых сложных видов спорта для моделирования: стандартные подходы здесь не работают, счёт специфический, а сила игрока выражается не в счёте, а в вероятности взять очко на своей подаче.

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

Алгоритмы и Структуры данных
Задача коммивояжёра — ещё немного больше, ещё немного быстрее

И снова здравствуйте, уважаемые читатели Хабра. Мы продолжаем наше путешествие в мир алгоритмов поиска оптимального пути.

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

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

Алгоритмы и Структуры данных
👍1
Разделяй и властвуй. Повышение эффективности алгоритмов. Часть 2

На примере из прошлой части, попробуем сформулировать и обобщить принцип «Разделяй и властвуй». Мы беремся за проблему, размера n, делим эту проблему на подзадачи размером n/b. Количество таких подзадач обозначим числом a. И еще имеется задача скомпоновать результаты выполнения этих a задач размером n/b в итоговый результат для задачи размера n, который будем считать задачей полиномиальной сложности степени c, O(nc) . Если задача компоновки будет не полиномиальной, то все изложение резко усложнится. Поэтому, давайте позволим задаче компоновки быть полиномиальной, тем более в это попадает очень большое количество алгоритмов.

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

Алгоритмы и Структуры данных
Задача о нижней оценке на поиск в таблице Юнга

Читателю не столь хорошо знакомому с теоретической информатикой может показаться удивительным, что нижние оценки известны лишь для малого числа задач. Когда оценивают сложность алгоритма, используют O-нотацию — асимптотически верхнюю оценку на сложность алгоритма. Так, хорошо известно, что у сортировки слиянием сложность O(n \log n).Из теории известно, что ни одна сортировка сравнениями не может сортировать асимптотически лучше чем за n \log n(пишут \Omega(n \log n)), отсюда для сортировки слиянием берётся нижняя оценка. Верхняя оценка сложности алгоритма, решающего задачу, является и верхней оценкой сложности самой задачи, поэтому сортировки сравнениями имеют точную асимптотическую оценку \Theta (n \log n).

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

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

Разработки на основе искусственного интеллекта нередко вызывают беспокойство широкой общественности. Чувство отторжения и неприязни, которое вызывает человекоподобие искусственного интеллекта, получило собственное красивое хоррор-название - "эффект зловещей долины" (термин из эссе Bukimi No Tani 1970 года). Собрали несколько реальных историй, сильно напоминающих сюжеты сериала «Черное зеркало» об угрожающих миру технологиях.

https://habr.com/ru/companies/mvideo/articles/741008/

Алгоритмы и Структуры данных
Я создал вдвое более быстрый лексер, но обнаружил, что узким местом был ввод-вывод

Я создал лексер ассемблера ARM64 (ну, точнее, сгенерировал его из моего собственного генератора парсера, но пост не об этом), обрабатывающий код на Dart вдвое быстрее официального сканера. Этого результата я добился при помощи статистических методик надёжного измерения малых различий в производительности. Затем я провёл его бенчмарк на 104000 файлов и обнаружил, что узким местом был не мой лексер, а ввод-вывод. Это история о том, как я случайно узнал, почему pub.dev хранит пакеты в виде файлов tar.gz.

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

Алгоритмы и Структуры данных
Пишем игру-головоломку под macOS на SwiftUI [StarDust Collector]

В прошлой статье я поделился опытом, как писал с помощью ИИ кастомный TO-DO-лист под macOS. Опыт оказался противоречивым, но приложение всё-таки получилось и даже работало.

Поэтому я решил добавить немного фана и реализовать мечту любого программиста — написать собственную игру. Так как у меня уже появилось небольшое понимание экосистемы десктоп-приложений под macOS и SwiftUI, я решил использовать именно её.

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

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

Подмести весь супермаркет Albert Heijn? Звучит несложно. Собственно, так и должно быть.

Но я студент-информатик, и у меня есть одна проблема — склонность оптимизировать процессы, которые, быть может, оптимизации не требуют.

Поэтому вместо того, чтобы просто делать свою работу, ну то есть… подметать… я поступил так, как поступил бы любой здравомыслящий человек: превратил план этажа супермаркета в решётчатый граф, создал визуальный редактор и написал на C++ оптимизатор пути, используя алгоритм имитации отжига (simulated annealing).

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

Если бы вы на один день взялись делать мою работу (я бы не советовал, но чисто теоретически), и вам нужно было бы подмести весь этаж в Albert Heijin, какой бы маршрут вы выбрали — А или B?

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

Алгоритмы и Структуры данных
Noise-Based Logic: Введение в шумовую логику

- Как передавать тысячи бит данных параллельно по одному электрическому проводу?
- Как снизить энергопотребление чипов на 2-3 порядка и навсегда забыть про утечку по сторонним каналам?
Эти кликбейтные вопросы перестанут восприниматься таковыми после прочтения этой статьи.

Я постараюсь объяснить, что за инопланетная технология скрывается за термином “Noise-Based Logic” (NBL). Подробно изложу только теоретические основы, чтобы понять идею, основные принципы и возможности. В любом случае, рекомендую вам самостоятельно ознакомиться с оригинальными статьями, и возможно, внести свой вклад. Это очень перспективная область исследований с относительно низким порогом входа, что само по себе редкость в наше время.

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

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