6 бесплатных книг по алгоритмам в программировании
Подборка книг по алгоритмам, которые следует прочесть каждому программисту. Некоторые из них станут незаменимыми помощниками.
https://proglib.io/p/algorythm-books
Алгоритмы и Структуры данных
Подборка книг по алгоритмам, которые следует прочесть каждому программисту. Некоторые из них станут незаменимыми помощниками.
https://proglib.io/p/algorythm-books
Алгоритмы и Структуры данных
Библиотека программиста
6 бесплатных книг по алгоритмам в программировании
Подборка книг по алгоритмам, которые следует прочесть каждому программисту. Некоторые из них станут незаменимыми помощниками.
За пределами LLM: детерминированный движок рассуждения на конечном алфавите
Часть 1. Детерминированный движок рассуждения на конечной таблице операции (в перспективе — замена LLM)
Когда речь заходит о больших языковых моделях, все сразу отмечают их талант к сочинению и пересказу текстов. Но вот встроить такую модель в реальный продукт — задача куда более каверзная, чем кажется на первый взгляд. На практике вылезают три системных «подводных камня», из‑за которых работать с ними бывает откровенно неудобно.
Первый камень — непредсказуемость. Представьте: вы посылаете модели один и тот же запрос дважды — а в ответ получаете два разных варианта. И это не случайность, а закономерность. Виной тому целый веер причин: от "памяти" о предыдущих диалогах (контекст) до тонких настроек генерации и естественного "плавания" внутренних весов модели. В итоге результат зависит не только от вашего запроса, но и от кучи невидимых факторов.
Второй момент — проблема с проверкой. В обычном программном коде мы чётко знаем: вот входные данные, вот ожидаемый вывод, вот критерии успеха. С языковыми моделями такой ясности нет. Как доказать, что ответ "правильный", если у задачи может быть десяток равноценных решений? Где та грань, за которой креативность превращается в выдумку?
Третий сюрприз ждёт после обновлений. Допустим, вы полгода отлаживали интеграцию, подобрали идеальные параметры, написали кучу тестов — и тут разработчики выпускают новую версию модели. И вдруг всё начинает работать иначе: прежние запросы дают странные ответы, тесты падают один за другим. Дело в том, что даже небольшие изменения в обучении модели могут кардинально поменять её "стиль" и логику. Предсказать, как именно она поведет себя в вашем сценарии, почти невозможно — а значит, каждое обновление грозит превратиться в марафон по починке сломавшегося
https://habr.com/ru/articles/988698/
Алгоритмы и Структуры данных
Часть 1. Детерминированный движок рассуждения на конечной таблице операции (в перспективе — замена LLM)
Когда речь заходит о больших языковых моделях, все сразу отмечают их талант к сочинению и пересказу текстов. Но вот встроить такую модель в реальный продукт — задача куда более каверзная, чем кажется на первый взгляд. На практике вылезают три системных «подводных камня», из‑за которых работать с ними бывает откровенно неудобно.
Первый камень — непредсказуемость. Представьте: вы посылаете модели один и тот же запрос дважды — а в ответ получаете два разных варианта. И это не случайность, а закономерность. Виной тому целый веер причин: от "памяти" о предыдущих диалогах (контекст) до тонких настроек генерации и естественного "плавания" внутренних весов модели. В итоге результат зависит не только от вашего запроса, но и от кучи невидимых факторов.
Второй момент — проблема с проверкой. В обычном программном коде мы чётко знаем: вот входные данные, вот ожидаемый вывод, вот критерии успеха. С языковыми моделями такой ясности нет. Как доказать, что ответ "правильный", если у задачи может быть десяток равноценных решений? Где та грань, за которой креативность превращается в выдумку?
Третий сюрприз ждёт после обновлений. Допустим, вы полгода отлаживали интеграцию, подобрали идеальные параметры, написали кучу тестов — и тут разработчики выпускают новую версию модели. И вдруг всё начинает работать иначе: прежние запросы дают странные ответы, тесты падают один за другим. Дело в том, что даже небольшие изменения в обучении модели могут кардинально поменять её "стиль" и логику. Предсказать, как именно она поведет себя в вашем сценарии, почти невозможно — а значит, каждое обновление грозит превратиться в марафон по починке сломавшегося
https://habr.com/ru/articles/988698/
Алгоритмы и Структуры данных
Хабр
За пределами LLM: детерминированный движок рассуждения на конечном алфавите
Часть 1. Детерминированный движок рассуждения на конечной таблице операции (в перспективе — замена LLM) Когда речь заходит о больших языковых моделях, все сразу отмечают их талант к сочинению и...
Создание сервера для онлайн ММО игр на PHP ч.13 — Event-driven паттерн, JSON-RPC и почему не сервисная (SOA) архитектура
В процессе разработки разработчик часто реализовывает функционал, который кажется ему логичным даже не задумываясь как этот архитектурный стиль называется. При этом читая про паттерны и шаблоны проектирования архитектуры в научной литературе информация может показаться сложной, а названия трудно запоминающиеся.
В этой статье я без привязки к коду объясню простым языком и в картинках как можно применять в разработке архитектуры авторитарного сервера для онлайн игр шаблон проектирования Event-driven.
https://habr.com/ru/articles/741734/
Алгоритмы и Структуры данных
В процессе разработки разработчик часто реализовывает функционал, который кажется ему логичным даже не задумываясь как этот архитектурный стиль называется. При этом читая про паттерны и шаблоны проектирования архитектуры в научной литературе информация может показаться сложной, а названия трудно запоминающиеся.
В этой статье я без привязки к коду объясню простым языком и в картинках как можно применять в разработке архитектуры авторитарного сервера для онлайн игр шаблон проектирования Event-driven.
https://habr.com/ru/articles/741734/
Алгоритмы и Структуры данных
Хабр
Создание сервера для онлайн ММО игр на PHP ч.13 — Event-driven паттерн, JSON-RPC и почему не сервисная (SOA) архитектура
В процессе разработки разработчик часто реализовывает функционал, который кажется ему логичным даже не задумываясь как этот архитектурный стиль называется. При этом читая про паттерны и шаблоны...
Нейронные сети: наиболее полные и понятные видеолекции
Нейронные сети – мощный и многофункциональный инструмент, который применим в любой современной отрасли. Рассмотрим базовые понятия.
https://proglib.io/p/plain-neural-networks
Алгоритмы и Структуры данных
Нейронные сети – мощный и многофункциональный инструмент, который применим в любой современной отрасли. Рассмотрим базовые понятия.
https://proglib.io/p/plain-neural-networks
Алгоритмы и Структуры данных
Библиотека программиста
Нейронные сети: наиболее полные и понятные видеолекции
Нейронные сети – мощный и многофункциональный инструмент, который применим в любой современной отрасли. Рассмотрим базовые понятия.
SQL отработал, но цифры не сходятся?
SQL Логи бизнеса — канал про реальные рабочие задачи аналитика
Здесь:
🔸ловушки с собеседований
🔸разборы запросов, которые «работают, но не так как надо»
🔸кейсы из банковской аналитики
🔸тесты
Канал ведёт действующий банковский аналитик с опытом работы в Сбере и Т-Банке и с дипломом ВШЭ
Если вам нужен SQL для работы и собеседований — добро пожаловать в SQL Логи бизнеса
Вот некоторые посты с канала:
1. Самая частая ошибка джунов
2. Когда запрос работает, но выдает не то, что вы ожидаете
3. Когда действительно нужен self-join
4. 8 ресурсов, где искать работу в 2026 году
SQL Логи бизнеса — канал про реальные рабочие задачи аналитика
Здесь:
🔸ловушки с собеседований
🔸разборы запросов, которые «работают, но не так как надо»
🔸кейсы из банковской аналитики
🔸тесты
Канал ведёт действующий банковский аналитик с опытом работы в Сбере и Т-Банке и с дипломом ВШЭ
Если вам нужен SQL для работы и собеседований — добро пожаловать в SQL Логи бизнеса
Вот некоторые посты с канала:
1. Самая частая ошибка джунов
2. Когда запрос работает, но выдает не то, что вы ожидаете
3. Когда действительно нужен self-join
4. 8 ресурсов, где искать работу в 2026 году
❤2
Криптовалюта и CryptoKitties: собственные котики на Ethereum
Пока криптовалюта, блокчейн и другие новинки взрывают сеть, давайте создавать крипто-котиков на виртуальной платформе Ethereum.
https://proglib.io/p/blockchain-cryptokitties
Алгоритмы и Структуры данных
Пока криптовалюта, блокчейн и другие новинки взрывают сеть, давайте создавать крипто-котиков на виртуальной платформе Ethereum.
https://proglib.io/p/blockchain-cryptokitties
Алгоритмы и Структуры данных
Библиотека программиста
Криптовалюта и CryptoKitties: собственные котики на Ethereum
Пока криптовалюта, блокчейн и другие новинки взрывают сеть, давайте создавать крипто-котиков на виртуальной платформе Ethereum.
👍2
JavaScript Live-Coding: Мастерство решения типовых задач на собеседованиях
Искусство live-coding в JavaScript становится все более важным для успешной карьеры веб-разработчика. Если ты стремишься преуспеть на собеседованиях и проявить свои навыки в реальном времени, то эта статья для тебя. Я предлагаю тебе углубиться в мир типовых задач на собеседованиях в разделе live-coding, где ты сможешь проявить свои знания JavaScript. В этой статье мы рассмотрим популярные задачи, подходы к их решению и дам полезные советы, которые помогут тебе справиться с этим вызовом. Давай начнем погружение в мир JavaScript и подготовимся к успешным собеседованиям!
https://habr.com/ru/articles/741108/
Алгоритмы и Структуры данных
Искусство live-coding в JavaScript становится все более важным для успешной карьеры веб-разработчика. Если ты стремишься преуспеть на собеседованиях и проявить свои навыки в реальном времени, то эта статья для тебя. Я предлагаю тебе углубиться в мир типовых задач на собеседованиях в разделе live-coding, где ты сможешь проявить свои знания JavaScript. В этой статье мы рассмотрим популярные задачи, подходы к их решению и дам полезные советы, которые помогут тебе справиться с этим вызовом. Давай начнем погружение в мир JavaScript и подготовимся к успешным собеседованиям!
https://habr.com/ru/articles/741108/
Алгоритмы и Структуры данных
Хабр
JavaScript Live-Coding: Мастерство решения типовых задач на собеседованиях
Искусство live-coding в JavaScript становится все более важным для успешной карьеры веб-разработчика. Если ты стремишься преуспеть на собеседованиях и проявить свои навыки в реальном времени, то эта...
Как зарабатывать на бирже, не предсказывая цену: математика против ML-интуиции
Недавно я пробовал машинное обучение на Московской бирже, пытаясь найти полезные признаки и при этом опираясь в поисках этих признаков на советы ИИ ассистентов, а поиск самого алгоритма переложил на ML.
Технически всё заработало, но уже после экспериментов я понял что есть один нюанс — все ИИ помощники энциклопедически умны и знают абсолютно все алгоритмы и подходы, но у них нет практического опыта и для них все стратегии «на одно лицо». Попытки предсказания цены — это самый очевидный и простой путь, в который ИИ помощник легко уводит пользователя.
Многие в статье про машинное обучение на Московской бирже пришли ко мне с советами или с критикой моего подхода в комментариях, но один человек связался со мной и подсказал, что на рынок можно смотреть совершенно по‑другому. Без угадывания цен, без работы с таймфреймами, опираясь только на цену.
https://habr.com/ru/articles/987808/
Алгоритмы и Структуры данных
Недавно я пробовал машинное обучение на Московской бирже, пытаясь найти полезные признаки и при этом опираясь в поисках этих признаков на советы ИИ ассистентов, а поиск самого алгоритма переложил на ML.
Технически всё заработало, но уже после экспериментов я понял что есть один нюанс — все ИИ помощники энциклопедически умны и знают абсолютно все алгоритмы и подходы, но у них нет практического опыта и для них все стратегии «на одно лицо». Попытки предсказания цены — это самый очевидный и простой путь, в который ИИ помощник легко уводит пользователя.
Многие в статье про машинное обучение на Московской бирже пришли ко мне с советами или с критикой моего подхода в комментариях, но один человек связался со мной и подсказал, что на рынок можно смотреть совершенно по‑другому. Без угадывания цен, без работы с таймфреймами, опираясь только на цену.
https://habr.com/ru/articles/987808/
Алгоритмы и Структуры данных
Хабр
Как зарабатывать на бирже, не предсказывая цену: математика против ML-интуиции
Недавно я пробовал машинное обучение на Московской бирже, пытаясь найти полезные признаки и при этом опираясь в поисках этих признаков на советы ИИ ассистентов, а поиск самого...
🔥1
Про GEO доказательно: +40% видимости в AI-выдаче, нейропоиске и ответах LLM/SGE (аналитика + стратегия)
Наконец, научное обоснование (или разоблачение?) про GEO/Generative Engine Optimization. Статья-этакий бенчмарк...
https://habr.com/ru/articles/989222/
Алгоритмы и Структуры данных
Наконец, научное обоснование (или разоблачение?) про GEO/Generative Engine Optimization. Статья-этакий бенчмарк...
https://habr.com/ru/articles/989222/
Алгоритмы и Структуры данных
Хабр
Про GEO доказательно: +40% видимости в AI-выдаче, нейропоиске и ответах LLM/SGE (аналитика + стратегия)
Наконец, научное обоснование (или разоблачение?) про GEO/Generative Engine Optimization. Статья-этакий бенчмарк... Видимость в generative engines: как её нормально измерять (забываем привычные...
Как Питолис мир создавал
ВНИМАНИЕ!!! Здесь у меня представлен прототип, который мне кажется интересным сам по себе. По-хорошему, его следует ещё долго доводить до ума. Может, когда-нибудь, я вернусь к нему с новыми силами.
Карту я решил делать максимально логичной и физичной. То есть, реки должны течь строго сверху вниз, а дороги между городами - петлять между холмов и огибать пустыни, а не идти напрямик. План у меня в итоге получился примерно таким:
https://habr.com/ru/articles/989544/
Алгоритмы и Структуры данных
ВНИМАНИЕ!!! Здесь у меня представлен прототип, который мне кажется интересным сам по себе. По-хорошему, его следует ещё долго доводить до ума. Может, когда-нибудь, я вернусь к нему с новыми силами.
Карту я решил делать максимально логичной и физичной. То есть, реки должны течь строго сверху вниз, а дороги между городами - петлять между холмов и огибать пустыни, а не идти напрямик. План у меня в итоге получился примерно таким:
https://habr.com/ru/articles/989544/
Алгоритмы и Структуры данных
Хабр
Как Питолис мир создавал
ВНИМАНИЕ!!! Здесь у меня представлен прототип, который мне кажется интересным сам по себе. По-хорошему, его следует ещё долго доводить до ума. Может, когда-нибудь, я вернусь к нему с новыми силами....
🔥1
Генетический алгоритм как инструмент инженера: практический кейс раскроя полотен
Перед вами лист материала и список деталей, которые нужно из него вырезать. Металл, ткань, пластик, стекло — не важно. Задача одна: разместить прямоугольники так, чтобы отходов было минимум.
Ручной подбор вариантов отнимает часы, а полный перебор невозможен. Часто останавливаешься на первом более-менее удачном варианте, хотя чувствуешь — должно быть лучше.
Что если делегировать эту рутину компьютеру? Не просто перебор, а «умный» поиск, похожий на естественный отбор в природе.
Генетический алгоритм — именно такой инструмент. В этой статье я покажу, как с помощью Python и простых принципов эволюции автоматизировать поиск оптимального раскроя. Без сложной математики — только практика: от задачи к коду, от кода к результату.
Вы увидите, как алгоритм находит решения, которые экономят материал, время и нервы. И может это натолкнет вас на мысль, как применить этот подход к своим производственным задачам.
https://habr.com/ru/articles/989646/
Алгоритмы и Структуры данных
Перед вами лист материала и список деталей, которые нужно из него вырезать. Металл, ткань, пластик, стекло — не важно. Задача одна: разместить прямоугольники так, чтобы отходов было минимум.
Ручной подбор вариантов отнимает часы, а полный перебор невозможен. Часто останавливаешься на первом более-менее удачном варианте, хотя чувствуешь — должно быть лучше.
Что если делегировать эту рутину компьютеру? Не просто перебор, а «умный» поиск, похожий на естественный отбор в природе.
Генетический алгоритм — именно такой инструмент. В этой статье я покажу, как с помощью Python и простых принципов эволюции автоматизировать поиск оптимального раскроя. Без сложной математики — только практика: от задачи к коду, от кода к результату.
Вы увидите, как алгоритм находит решения, которые экономят материал, время и нервы. И может это натолкнет вас на мысль, как применить этот подход к своим производственным задачам.
https://habr.com/ru/articles/989646/
Алгоритмы и Структуры данных
Хабр
Генетический алгоритм как инструмент инженера: практический кейс раскроя полотен
Перед вами лист материала и список деталей, которые нужно из него вырезать. Металл, ткань, пластик, стекло — не важно. Задача одна: разместить прямоугольники так, чтобы отходов было минимум. Ручной...
👍2
Криптовалюта и CryptoKitties: собственные котики на Ethereum
Пока криптовалюта, блокчейн и другие новинки взрывают сеть, давайте создавать крипто-котиков на виртуальной платформе Ethereum.
https://proglib.io/p/blockchain-cryptokitties
Алгоритмы и Структуры данных
Пока криптовалюта, блокчейн и другие новинки взрывают сеть, давайте создавать крипто-котиков на виртуальной платформе Ethereum.
https://proglib.io/p/blockchain-cryptokitties
Алгоритмы и Структуры данных
Библиотека программиста
Криптовалюта и CryptoKitties: собственные котики на Ethereum
Пока криптовалюта, блокчейн и другие новинки взрывают сеть, давайте создавать крипто-котиков на виртуальной платформе Ethereum.
❤1
Оптимизация маршрутов доставки заказов маркетплейса или как мы победили в E-CUP 2025
Хабр, привет! Недавно завершилось ML-соревнование E-CUP 2025. Наша команда из X5 Tech заняла первое место в треке «Логистика: автопланирование курьеров», где было нужно оптимизировать время, затрачиваемое курьерами на доставку 20 000 заказов. В статье расскажем про подходы, которые использовали для решения этой задачи. Посмотрим, во сколько раз можно сжать JSON с матрицей расстояний. Какой код мы использовали для быстрого решения задачи TSP с помощью LKH-3. Обсудим, на что обращать внимание при кластеризации заказов.
https://habr.com/ru/companies/X5Tech/articles/989466/
Алгоритмы и Структуры данных
Хабр, привет! Недавно завершилось ML-соревнование E-CUP 2025. Наша команда из X5 Tech заняла первое место в треке «Логистика: автопланирование курьеров», где было нужно оптимизировать время, затрачиваемое курьерами на доставку 20 000 заказов. В статье расскажем про подходы, которые использовали для решения этой задачи. Посмотрим, во сколько раз можно сжать JSON с матрицей расстояний. Какой код мы использовали для быстрого решения задачи TSP с помощью LKH-3. Обсудим, на что обращать внимание при кластеризации заказов.
https://habr.com/ru/companies/X5Tech/articles/989466/
Алгоритмы и Структуры данных
Хабр
Оптимизация маршрутов доставки заказов маркетплейса или как мы победили в E-CUP 2025
Хабр, привет! Недавно завершилось ML-соревнование E-CUP 2025 . Наша команда из X5 Tech заняла первое место в треке «Логистика: автопланирование курьеров», где было нужно оптимизировать время,...
Почему 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/
Алгоритмы и Структуры данных
Andrej Karpathy — один из ведущих специалистов в области глубокого обучения и компьютерного зрения. Он ранее занимал должность Director of AI в Tesla, где руководил командой Autopilot Vision, и является соавтором и основным преподавателем курса Stanford CS231n (Convolutional Neural Networks for Visual Recognition) — одного из самых влиятельных академических курсов по нейросетям. Его опыт охватывает как фундаментальные исследования, так и практическое применение современных нейросетевых моделей в промышленности.
https://habr.com/ru/articles/990386/
Алгоритмы и Структуры данных
Хабр
Почему Andrej Karpathy использует SVM в 2026 году (и вам тоже стоит)
На arXiv каждый день появляются сотни новых статей по машинному обучению. Читать всё — нереально, а пропустить что-то важное — обидно. Andrej Karpathy решил эту проблему с помощью SVM + TF-IDF. И...
👍1
Объясняем известные алгоритмы сортировки на пальцах
В этой серии видео с YouTube предлагаем разобрать самые известные алгоритмы сортировки простыми словами так, чтобы стало понятно даже восьмилетнему.
https://proglib.io/p/sort-algorithms
Алгоритмы и Структуры данных
В этой серии видео с YouTube предлагаем разобрать самые известные алгоритмы сортировки простыми словами так, чтобы стало понятно даже восьмилетнему.
https://proglib.io/p/sort-algorithms
Алгоритмы и Структуры данных
Библиотека программиста
Объясняем известные алгоритмы сортировки на пальцах
В этой серии видео с YouTube предлагаем разобрать самые известные алгоритмы сортировки простыми словами так, чтобы стало понятно даже восьмилетнему.
Идентификация звёзд и при чём тут сингулярное разложение
И знаете, с этим трудно не согласиться! Сингулярное разложение матриц (Singular Value Decomposition) используется в алгоритмах сжатия данных, теории автоматического управления, машинного обучения и много где ещё. Поскольку SVD не является главным объектом исследования данной статьи, я предоставляю читателю возможность самостоятельно ознакомиться с примерами ниже. Если же сингулярное разложение не вызывает вопросов, то перейдём к самому интересному!
https://habr.com/ru/articles/990722/
Алгоритмы и Структуры данных
И знаете, с этим трудно не согласиться! Сингулярное разложение матриц (Singular Value Decomposition) используется в алгоритмах сжатия данных, теории автоматического управления, машинного обучения и много где ещё. Поскольку SVD не является главным объектом исследования данной статьи, я предоставляю читателю возможность самостоятельно ознакомиться с примерами ниже. Если же сингулярное разложение не вызывает вопросов, то перейдём к самому интересному!
https://habr.com/ru/articles/990722/
Алгоритмы и Структуры данных
Хабр
Идентификация звёзд и при чём тут сингулярное разложение
Когда я обучался в университете и изучал теорию автоматического управления, мой преподаватель произнёс фразу: Сингулярное разложение - одна одна из лучших вещей, которые есть в линейной алгебре! И...
👍1
Вероятности и .NET: сравниваем библиотечные решения для оценки спортивных событий и не только
Как вычисляется шанс того, что теннисист возьмёт следующий гейм? Или что футбольная команда забьёт гол в течение пяти минут? Всё это — не просто угадайка, а работа математической модели, построенной на статистике и обрабатывающей события матча в реальном времени.
В Altenar, разработчике решений для зарубежных операторов спортивных прогнозов, такие модели — часть большой системы. Моя команда работает над реализацией алгоритмов расчёта таких вероятностей.
В этой статье рассказываю, как формулируется гипотеза, как из неё строится модель, почему это важнее, чем «просто посчитать формулу», и как мы выбирали между несколькими .NET-библиотеками по точности и скорости. Всё на примере тенниса. Это один из самых сложных видов спорта для моделирования: стандартные подходы здесь не работают, счёт специфический, а сила игрока выражается не в счёте, а в вероятности взять очко на своей подаче.
https://habr.com/ru/articles/990002/
Алгоритмы и Структуры данных
Как вычисляется шанс того, что теннисист возьмёт следующий гейм? Или что футбольная команда забьёт гол в течение пяти минут? Всё это — не просто угадайка, а работа математической модели, построенной на статистике и обрабатывающей события матча в реальном времени.
В Altenar, разработчике решений для зарубежных операторов спортивных прогнозов, такие модели — часть большой системы. Моя команда работает над реализацией алгоритмов расчёта таких вероятностей.
В этой статье рассказываю, как формулируется гипотеза, как из неё строится модель, почему это важнее, чем «просто посчитать формулу», и как мы выбирали между несколькими .NET-библиотеками по точности и скорости. Всё на примере тенниса. Это один из самых сложных видов спорта для моделирования: стандартные подходы здесь не работают, счёт специфический, а сила игрока выражается не в счёте, а в вероятности взять очко на своей подаче.
https://habr.com/ru/articles/990002/
Алгоритмы и Структуры данных
Хабр
Вероятности и .NET: сравниваем библиотечные решения для оценки спортивных событий и не только
Как вычисляется шанс того, что теннисист возьмёт следующий гейм? Или что футбольная команда забьёт гол в течение пяти минут? Всё это — не просто угадайка, а работа математической модели, построенной...
Как научиться решать алгоритмические задачи?
Перед вами руководство для того, чтобы научиться быстро и без труда решать алгоритмические задачи. Готовьтесь к собеседованиям правильно.
https://proglib.io/p/algorithmic-tasks
Алгоритмы и Структуры данных
Перед вами руководство для того, чтобы научиться быстро и без труда решать алгоритмические задачи. Готовьтесь к собеседованиям правильно.
https://proglib.io/p/algorithmic-tasks
Алгоритмы и Структуры данных
Библиотека программиста
Как научиться решать алгоритмические задачи?
Перед вами руководство для того, чтобы научиться быстро и без труда решать алгоритмические задачи. Готовьтесь к собеседованиям правильно.
👍3
Задача коммивояжёра — ещё немного больше, ещё немного быстрее
И снова здравствуйте, уважаемые читатели Хабра. Мы продолжаем наше путешествие в мир алгоритмов поиска оптимального пути.
В прошлой работе мы уже узнали, как можно найти оптимальный путь в графе в несколько сотен вершин. В данной работе хочу более подробно остановится на сути метода, а также разобрать возможность по его ускорению на графах от тысячи элементов.
https://habr.com/ru/articles/740984/
Алгоритмы и Структуры данных
И снова здравствуйте, уважаемые читатели Хабра. Мы продолжаем наше путешествие в мир алгоритмов поиска оптимального пути.
В прошлой работе мы уже узнали, как можно найти оптимальный путь в графе в несколько сотен вершин. В данной работе хочу более подробно остановится на сути метода, а также разобрать возможность по его ускорению на графах от тысячи элементов.
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/
Алгоритмы и Структуры данных
На примере из прошлой части, попробуем сформулировать и обобщить принцип «Разделяй и властвуй». Мы беремся за проблему, размера n, делим эту проблему на подзадачи размером n/b. Количество таких подзадач обозначим числом a. И еще имеется задача скомпоновать результаты выполнения этих a задач размером n/b в итоговый результат для задачи размера n, который будем считать задачей полиномиальной сложности степени c, O(nc) . Если задача компоновки будет не полиномиальной, то все изложение резко усложнится. Поэтому, давайте позволим задаче компоновки быть полиномиальной, тем более в это попадает очень большое количество алгоритмов.
https://habr.com/ru/articles/742404/
Алгоритмы и Структуры данных
Хабр
Разделяй и властвуй. Повышение эффективности алгоритмов. Часть 2
Ссылка на первую часть . Мастер-теорема На примере из прошлой части, попробуем сформулировать и обобщить принцип «Разделяй и властвуй». Мы беремся за проблему, размера n , делим эту...
Задача о нижней оценке на поиск в таблице Юнга
Читателю не столь хорошо знакомому с теоретической информатикой может показаться удивительным, что нижние оценки известны лишь для малого числа задач. Когда оценивают сложность алгоритма, используют O-нотацию — асимптотически верхнюю оценку на сложность алгоритма. Так, хорошо известно, что у сортировки слиянием сложность O(n \log n).Из теории известно, что ни одна сортировка сравнениями не может сортировать асимптотически лучше чем за n \log n(пишут \Omega(n \log n)), отсюда для сортировки слиянием берётся нижняя оценка. Верхняя оценка сложности алгоритма, решающего задачу, является и верхней оценкой сложности самой задачи, поэтому сортировки сравнениями имеют точную асимптотическую оценку \Theta (n \log n).
https://habr.com/ru/articles/742622/
Алгоритмы и Структуры данных
Читателю не столь хорошо знакомому с теоретической информатикой может показаться удивительным, что нижние оценки известны лишь для малого числа задач. Когда оценивают сложность алгоритма, используют O-нотацию — асимптотически верхнюю оценку на сложность алгоритма. Так, хорошо известно, что у сортировки слиянием сложность O(n \log n).Из теории известно, что ни одна сортировка сравнениями не может сортировать асимптотически лучше чем за n \log n(пишут \Omega(n \log n)), отсюда для сортировки слиянием берётся нижняя оценка. Верхняя оценка сложности алгоритма, решающего задачу, является и верхней оценкой сложности самой задачи, поэтому сортировки сравнениями имеют точную асимптотическую оценку \Theta (n \log n).
https://habr.com/ru/articles/742622/
Алгоритмы и Структуры данных
Хабр
Задача о нижней оценке на поиск в таблице Юнга
Читателю не столь хорошо знакомому с теоретической информатикой может показаться удивительным, что нижние оценки известны лишь для малого числа задач. Когда оценивают сложность алгоритма, используют...