[Перевод] Непостижимая эффективность современных алгоритмов сортировки

Причина заблуждений: автор этого документа также является соавтором реализаций ipnsort и driftsort, используемых в стандартной библиотеке Rust. Сценарий Компоненту ПО передаются данные для сортировки. Известно, что значения могут иметь низкую кардинальность. Несмотря на тип u64 , способный хранить 2 64 уникальных значений, в данных наблюдается всего четыре уникальных значения. Учитывая такие серьёзные ограничения, разработчик может разумно решить использовать специализированную реализацию сортировки, а не ту, которая есть в библиотеке, потому что он знает о данных больше, чем способна знать обобщённая реализация.

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

#сортировка #алгоритмы_сортировки

Непостижимая эффективность современных алгоритмов сортировки

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

Хабр

Просто о сложном: Нейросети, Графы

Просто о сложном: нейросети Введение В этой статье я хочу простыми словами объяснить практическое применение нейронных сетей для решения конкретных задач. Важно отметить, что мы не будем подробно разбирать, как устроены нейросети изнутри – об этом уже написано множество материалов. Вместо этого сосредоточимся на том, как применить нейросеть к конкретной задаче, как подобрать под неё данные и параметры. Мы не будем использовать готовые библиотеки машинного обучения – весь функционал реализован самостоятельно, чтобы наглядно разобраться, как можно написать нейросеть под свою задачу. Первое, с чего начнём: нейросеть имеет смысл применять только там, где действительно существуют закономерности в данных. Простой пример – домашний питомец, услышав будильник утром, с большой вероятностью понимает, что скоро получит свежую еду. Это примитивная закономерность (звук будильника → завтрак). Но бывают и очень сложные закономерности, которые не лежат на поверхности. То, что мы называем интуицией, по сути является распознаванием подобных скрытых закономерностей нашим мозгом. Итак, если в вашей задаче нет никаких паттернов или повторяющихся зависимостей, нейросеть не поможет – она просто будет гадать наугад. Если же вы предполагаете наличие закономерностей, можно попытаться их выявить с помощью обучения сети. Правда, будьте готовы к ситуации: если результат плохой, непонятно, то ли закономерностей нет, то ли вы неправильно обучили модель. В этой статье на конкретном примере мы рассмотрим весь путь: от зарождения идеи до реализации и обучения нейросети, а также разберём сложности, с которыми можно столкнуться. Примером послужит задача прогнозирования исхода спортивного события – будем пытаться угадать, выиграет ли первая команда первую четверть баскетбольного матча по ходу игры, используя нейросеть. Это своего рода модель для ставок на спорт, но сразу подчеркну: цель исключительно научная, а не научиться обыгрывать букмекеров (позже станет ясно почему). Постановка задачи: нейросеть для ставок на спорт

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

#нейросети #ai #нейросеть #алгоритмы #алгоритм #алгоритмы_поиска #алгоритмы_сортировки #алгоритмическая_композиция #алгоритмы_машинного_обучения #алгоритмы_поиска_пути

Просто о сложном: Нейросети, Графы

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

Хабр

Задача “Container With Most Water” 150 000$ от Amazon — мое не стандартное решение

💧 Условие задачи: «Аквариум» (Container With Most Water) Представим, что нам дан массив целых чисел — например: [1, 8, 6, 2, 5, 4, 8, 3, 7] Каждое число в этом массиве символизирует высоту вертикальной стенки — как будто это столбец, воткнутый вертикально в пол. Все столбцы стоят на одной горизонтальной линии, то есть на «полу» (ось x), и находятся на равном расстоянии друг от друга. 📦 Теперь представим, что между этими столбиками можно налить воду — как будто мы смотрим на 2D-аквариум сбоку. 🧠 Цель задачи Найти две такие стенки (столбцы), которые, если между ними налить воду (по нижней границе — полу), смогут удержать наибольшее количество воды. 💧 Объём воды между двумя столбцами рассчитывается так: • Высота воды ограничена меньшей из двух стенок — потому что вода не может быть выше, чем самая низкая из них (иначе вытечет). • Ширина — это расстояние между этими двумя столбцами (в индексах). объём = (индекс_правой − индекс_левой) × min(высота_левой, высота_правой) Массив: [1, 8, 6, 2, 5, 4, 8, 3, 7] Индексы: 0 1 2 3 4 5 6 7 8 Столбцы (высоты): вертикальные стенки Пол: горизонтальная база (ось x) Вода: заливается между двумя стенками и держится на уровне самой низкой из них. Забегая вперед скажу 2. Классическое решение и его недостатки Обычно задача решается методом двух указателей с линейной сложностью. Однако этот подход не всегда даёт глубокую интуицию выбора стенок. ⸻ 3. Предложенный подход Я ввожу понятие энергоэффективной оценки каждой стенки: При этом: • Если стенка ближе к центру, её расстояние меньше — значит штраф за “удалённость” ниже. • Высокая, но далёкая стенка будет “наказана” в оценке. • Выбираются две стенки с максимальными result, а затем между ними вычисляется реальный объём воды. ⸻ 4. Обоснование устойчивости (пример) При наличии сильно асимметричного массива (например, левые элементы — [1, 2, 1], правые — [9, 8, 9]), алгоритм всё равно выбирает правые высокие значения, потому что они превосходят штраф и сохраняют высокий итоговый результат. ✔ Это делает алгоритм устойчивым к локальным аномалиям и не требует явно жёстких условий или вложенных циклов. ⸻ 5. Заключение Предложенный алгоритм демонстрирует новый взгляд на задачу через призму “выгодности” стенки, объединяя геометрическую и энергетическую оценку. Он сохраняет линейную сложность, но обладает дополнительной устойчивостью и хорошей визуальной интерпретацией. Разница:

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

#алгоритмы #алгоритм #алгоритмы_поиска #алгоритмы_сортировки #алгоритмическая_торговля #алгоритмы_поиска_пути #лучшее #лучшие_практики #сложность_алгоритма #сложность_разработки

Задача “Container With Most Water” 150 000$ от Amazon — мое не стандартное решение

💧 Условие задачи: «Аквариум» (Container With Most Water) Представим, что нам дан массив целых чисел — например: [1, 8, 6, 2, 5, 4, 8, 3, 7] Каждое число в этом массиве символизирует высоту...

Хабр

Кто выиграл? ChatGPT o3 Pro против конкурентов в двух тестах

Хотите знать, какая нейросеть лучше генерирует код для 3D‑анимации или пишет научный реферат? Мы сравнили ChatGPT o3 Pro , Gemini 2.5 Pro , Claude Opus 4 и DeepSeek R1-0528 в двух примерах: создание веб‑презентации (анимированные алгоритмы сортировки) и подробное исследование о системах беспилотных авто . Кто справился с анимацией? Чей код запустился? Чей текст — как TED Talk на бумаге? Смотрите тесты, сравнивайте Codepen‑примеры и делайте выводы. (Спойлер: победил не o3 Pro!)

https://habr.com/ru/companies/bothub/articles/918712/

#chatgpt_o3_pro #openai #gemini_25_pro #claude_opus_4 #deepseek_r10528 #алгоритмы_сортировки #javascript #беспилотные_авто #рефераты #отладка

Кто выиграл? ChatGPT o3 Pro против конкурентов в двух тестах

Хотите знать, какая нейросеть лучше генерирует код для 3D‑анимации или пишет научный реферат? Мы сравнили ChatGPT o3 Pro, Gemini 2.5 Pro, Claude Opus 4 и DeepSeek...

Хабр

Не пузырьком единым. Поговорим об алгоритмах сортировки

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

https://habr.com/ru/companies/otus/articles/911968/

#sorting #алгоритмы #алгоритмы_сортировки #python

Не пузырьком единым. Поговорим об алгоритмах сортировки

Если спросить любого, хоть немного знакомого с ИТ человека, какие алгоритмы сортировки он знает, то самым популярным ответом будет, конечно, сортировка методом пузырька. Однако в реальности это,...

Хабр

[Перевод] Сортировка слиянием на CUDA

Я решил изучить, как повысится производительность алгоритмов сортировки при их реализации на CUDA. Моя цель — понять, как можно использовать мощь параллельных вычислений для ускорения алгоритмов сортировки. В качестве тестового я возьму алгоритм сортировки слиянием (merge sort), потому что он удобно разбивает задачу на меньшие подзадачи с двумя равными половинами, что хорошо подходит для параллельных вычислений.

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

#сортировка_слиянием #алгоритмы_сортировки #cuda #nvidia #merge_sort #ruvds_переводы

Сортировка слиянием на CUDA

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

Хабр

Отчет о проекте эффективного приоритетного дерева SAPT

Отчет о, написанном мною, алгоритмическом статичном двунаправленном дереве, имеющим сложность по всем параметрам. Не считаю эту статью чем-то выдающимся, никуда не претендую, это всего лишь отчет моей работы. Если вам понравится можете свободно пользоваться. В качестве небольшого предисловия: Зачем я спроектировал дерево? Я пишу научный проект из сферы биологии, где присутствует элемент иерархии, и для последовательного выполнения действий следовало отсортировать данные по приоритетам, при этом делать это максимально быстро и эффективно. Пример профилей поведения будет в конце статьи. Читать отчет

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

#алгоритмы_сортировки #алгоритмы_поиска #алгоритм #дерево #деревья_поиска

Отчет о проекте эффективного приоритетного дерева SAPT

Иллюстрация SAPT Adobe Photoshop Отчет о, написанном мною, алгоритмическом статичном двунаправленном дереве, имеющим сложность по всем параметрам. Не считаю эту статью чем-то выдающимся, никуда не...

Хабр

Алгоритмы сортировки в Go: простое объяснение и примеры реализации

Сортировка — это процесс упорядочивания элементов в массиве или списке по определенному критерию (например, по возрастанию или убыванию). В программировании это одна из базовых задач, которая помогает эффективно искать, обрабатывать и анализировать данные. Давайте разберем основные алгоритмы сортировки, их принципы работы и сложность на примерах реализации на языке Go.

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

#сортировка #сортировка_слиянием #сортировка_вставками #сортировка_пузырьком #сортировка_выбором #алгоритм #алгоритмы #алгоритмы_сортировки

Алгоритмы сортировки в Go: простое объяснение и примеры реализации

Сортировка — это процесс упорядочивания элементов в массиве или списке по определенному критерию (например, по возрастанию или убыванию). В программировании это одна из базовых задач, которая помогает...

Хабр

[Перевод] Сортировка «Милосердный Сталин»

Merciful Stalin Sort (сортировка «Милосердный Сталин») — это новый алгоритм сортировки, вдохновлённый пресловутым Stalin Sort (сталинской сортировкой). В ходе развлекательного эксперимента со сталинской сортировкой возникла интригующая идея: что, если вместо удаления выбивающихся элементов, сохранить те, которые идут по порядку, и рекурсивно упорядочить остальные? Логика заключалась в том, чтобы добиться повышения производительности за счёт уменьшения массива, требующего сортировки, особенно в случае частично упорядоченных массивов. Это и привело к разработке сортировки «Милосердный Сталин».

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

#ruvds_перевод #алгоритмы_сортировки #merciful_stalin_sort #stalin_sort #сортировка_милосердный_сталин

Сортировка «Милосердный Сталин»

Merciful Stalin Sort (сортировка «Милосердный Сталин») — это новый алгоритм сортировки, вдохновлённый пресловутым Stalin Sort (сталинской сортировкой). В ходе развлекательного эксперимента со...

Хабр

Как посчитать биологические данные и не уронить сервер и ноутбук?

Привет, Хабр Наверняка вы слышали о биоинформатике . Звучит перспективно, приятно и полезно. Часто, ввиду всеобщих рассказов о перспективности и возможностях направления, некоторые люди из IT или из «мокрой» биологии (так называют область биологии, где работают в лаборатории с бактериями и прочими возможными объектами живой и не очень природы и реагентами) хотят перейти в биоинформатику. Однако далеко не все понимают, что же это за область такая и почему с ней сложно работать.

https://habr.com/ru/companies/first/articles/866618/

#биология #гены #биоинформатика #алгоритмы_сортировки #биоинформатические_алгоритмы #алгоритмы

Как посчитать биологические данные и не уронить сервер и ноутбук?

Привет, Хабр Наверняка вы слышали о биоинформатике . Звучит перспективно, приятно и полезно. Часто, ввиду всеобщих рассказов о перспективности и возможностях направления, некоторые люди из IT или из...

Хабр