Отчет о, написанном мною, алгоритмическом статичном двунаправленном дереве, имеющим сложность Читать полностью »
Рубрика «алгоритмы сортировки»
Отчет о проекте эффективного приоритетного дерева 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, Алгоритмы, алгоритмы сортировки, визуализация данных, Программирование, Совершенный кодСортировка… хэш-таблицей (ещё подсчётом-деревом и HashMap’ом)
2018-07-26 в 15:53, admin, рубрики: Алгоритмы, алгоритмы сортировки, математикаТри дня назад я задумался об объединении сортировки подсчётом и деревом. Обсудив её с коллегой, пришли к следующему решению: вместо TreeSet использовать HashMap (при чём здесь вообще TreeSet, можно посмотреть ниже). Но и этого мне показалось мало, так что я решил реализовать собственную хэш-таблицу и посмотреть, что из этого выйдет. Результаты показались мне довольно интересными интересными.
Читать полностью »
Сортировки вставками
2018-07-02 в 11:57, admin, рубрики: java, python, Алгоритмы, алгоритмы сортировки, визуализация данных, ПрограммированиеОбщая суть сортировок вставками такова:
- Перебираются элементы в неотсортированной части массива.
- Каждый элемент вставляется в отсортированную часть массива на то место, где он должен находиться.
Сравнение сортировок обменами
2018-06-29 в 12:02, admin, рубрики: php, python, Алгоритмы, алгоритмы сортировки, Программирование, Тестирование IT-систем
Сферические алгоритмы в вакууме — это прекрасно. Однако давайте спустимся с небес на грешную землю и посмотрим как вся эта теоретическая красота покажет себя на практике.
Читать полностью »