Эта статья — эксперимент на стыке музыки, математики и программирования. Мы попробуем взглянуть на аккорды не как на набор звуков, а как на архитектурные паттерны. Я покажу, как гармонические последовательности могут подсказать нам структуру алгоритмов, приведу примеры кода и проведу параллели между миром нот и миром вычислений.
Рубрика «алгоритмы сортировки»
Музыка и математика: как аккорды вдохновляют архитектуру алгоритмов
2025-09-29 в 12:14, admin, рубрики: аккорды, алгоритмы сортировки, асинхронность, гармония, генеративная музыка, графы, математика, музыка, оопСортировка слиянием на CUDA
2025-03-19 в 13:01, admin, рубрики: CUDA, merge sort, Nvidia, ruvds_переводы, алгоритмы сортировки, сортировка слиянием
Я решил изучить, как повысится производительность алгоритмов сортировки при их реализации на CUDA. Моя цель — понять, как можно использовать мощь параллельных вычислений для ускорения алгоритмов сортировки.
В качестве тестового я возьму алгоритм сортировки слиянием (merge sort), потому что он удобно разбивает задачу на меньшие подзадачи с двумя равными половинами, что хорошо подходит для параллельных вычислений.Читать полностью »
Отчет о проекте эффективного приоритетного дерева SAPT
2025-01-27 в 8:15, admin, рубрики: алгоритм, алгоритмы поиска, алгоритмы сортировки, дерево, деревья поиска
Отчет о, написанном мною, алгоритмическом статичном двунаправленном дереве, имеющим сложность Читать полностью »
Алгоритмы сортировки в Go: какие есть и как работают
2025-01-21 в 6:15, admin, рубрики: алгоритм, Алгоритмы, алгоритмы сортировки, сортировка, сортировка вставками, сортировка выбором, сортировка пузырьком, сортировка слияниемСортировка — это процесс упорядочивания элементов в массиве или списке по определенному критерию (например, по возрастанию или убыванию). В программировании это одна из базовых задач, которая помогает эффективно искать, обрабатывать и анализировать данные. Давайте разберем основные алгоритмы сортировки, их принципы работы и сложность на примерах реализации на языке Go.
Введение в алгоритмы сортировки
Существует несколько способов сортировки данных. Основные алгоритмы можно разделить на две категории:
-
Простые алгоритмы сортировкиЧитать полностью »
Сортировка «Милосердный Сталин»
2025-01-05 в 9:02, admin, рубрики: merciful stalin sort, ruvds_перевод, stalin sort, алгоритмы сортировки, сортировка милосердный сталин
Merciful Stalin Sort (сортировка «Милосердный Сталин») — это новый алгоритм сортировки, вдохновлённый пресловутым Stalin Sort (сталинской сортировкой). В ходе развлекательного эксперимента со сталинской сортировкой возникла интригующая идея: что, если вместо удаления выбивающихся элементов, сохранить те, которые идут по порядку, и рекурсивно упорядочить остальные? Логика заключалась в том, чтобы добиться повышения производительности за счёт уменьшения массива, требующего сортировки, особенно в случае частично упорядоченных массивов. Это и привело к разработке сортировки «Милосердный Сталин».Читать полностью »
Как посчитать биологические данные и не уронить сервер и ноутбук?
2024-12-17 в 9:40, admin, рубрики: Алгоритмы, алгоритмы сортировки, биоинформатика, биоинформатические алгоритмы, биология, гены
Привет, Хабр
Наверняка вы слышали о биоинформатике. Звучит перспективно, приятно и полезно. Часто, ввиду всеобщих рассказов о перспективности и возможностях направления, некоторые люди из IT или из «мокрой» биологии (так называют область биологии, где работают в лаборатории с бактериями и прочими возможными объектами живой и не очень природы и реагентами) хотят перейти в биоинформатику. Однако далеко не все понимают, что же это за область такая и почему с ней сложно работать.Читать полностью »
Почему быстрая сортировка на самом деле медленная? Новый метод сортировки массива
2020-01-21 в 8:37, admin, рубрики: c++, merge sort, mergesort, newgenerationsort, O(n), quick sort, quicksort, Алгоритмы, алгоритмы сортировки, быстрая сортировка, ненормальное программирование, Программирование, сортировка вставками, сортировка выбором, сортировка нового поколения, сортировка слиянием
Многие программисты думают, что Quick Sort — самый быстрый алгоритм из всех существующих. Отчасти это так. Но работает она действительно хорошо только если правильно выбран опорный элемент (тогда сложность составляет O (n log n)). В противном же случае асимптотика будет примерно такой же как и в пузырика (то-есть O (n2)).
При этом, если массив уже отсортирован, то алгоритм всё-равно будет работать не быстрее, чем за O (n log n)
Исходя из этого, я решил написать свой алгоритм для сортировки массива, который работал бы лучше за quick_sort. И если массив уже отсортирован, то не прогонять его кучу раз, как это бывает у многих алгоритмов.
«Дело было вечером, делать было нечего», — Сергей Михалков.
Требования:
- Лучший случай O (n)
- Средний случай O (n log n)
- Худший случай O (n log n)
- В среднем быстрее быстрой сортировки
А теперь давайте обо всём по порядку
Чтобы наш алгоритм всегда работал быстро, нужно чтобы в среднем случае асимптотика была хотя бы O (n log n), а в лучшем — O (n). Все мы прекрасно знаем, что в лучшем случае сортировка вставками работает за один проход. Но в худшем ей придётся гонять по массиву столько раз, сколько в нём элементов.
И ещё о сортировках
2019-09-15 в 18:04, admin, рубрики: boost, BSD, c++, processing, stl, Алгоритмы, алгоритмы сортировки, Программирование, сортировки, строки, структуры данныхИ ещё о сортировках
Рискну опять поднять эту тему. Начну со ссылки на статью Михаила Опанасенко (oms7), очень впечатляющую по объёмам проделанной работы, а также по количеству приведёных ссылок. Свой материал начал готовить, не зная об этой публикации, что впоследствии, после ознакомления привело к необходимости его существенной переработки. Для тех, кто уже прочитал эту статью, сообщаю, что в моём материале, исследуются более разнообразные по типам данные, в частности, строки и вещественные числа, используются библиотеки boost и bsd, а также затрагиваются некоторые другие отсутствующие в названной статье темы.
Читать полностью »
Сортировки выбором
2018-09-03 в 0:28, admin, рубрики: python, Алгоритмы, алгоритмы сортировки, визуализация данных, Программирование, Совершенный код
В чём идея сортировок выбором?
- В неотсортированном подмассиве ищется локальный максимум (минимум).
- Найденный максимум (минимум) меняется местами с последним (первым) элементом в подмассиве.
- Если в массиве остались неотсортированные подмассивы — смотри пункт 1.

