Нужно сделать скрипт сортировки на С
Необходимо реализовать максимально быстрый алгоритм сортировки битового массива (0 и 1) с возможностью 100% обратного восстановления.
Суть задания:
Имеем массив из 0 и 1 (до 8 МБ)
Необходимо отсортировать: все 1 слева, все 0 справа → "111...000"
Но без потери оригинального порядка:
то есть нужно сохранить только ранг перестановки, а не полный список позиций
Ключевые требования:
Без сохранения списка позиций 1
Только rank (уникальный номер перестановки)
Rank должен быть преобразован в короткий seed (например, 60 символов)
Должна быть возможность восстановить полный начальный порядок из seed + N + K
Если можешь реализовать обратную функцию unrank() — это плюс
Можно использовать GMP, OpenMP, SIMD и т.д.
Необходимые навыки:
Отличное знание C или C++
Опыт с алгоритмами ранжирования, комбинациями, перестановками
Знание комбинаторики (C(n, k)) на практике
Опыт работы с большими числами (__int128, GMP или Boost)
Оптимизация производительности (многопоточность, SIMD, кэширование)
-
2 дня4448 UAH2 дня4448 UAH
Доброго дня!
Ваше завдання — саме той виклик, який мені цікаво реалізувати. Я добре орієнтуюсь у комбінаториці, ранжуванні комбінацій та роботі з великими числами, і розумію, як оптимізувати обчислення в C/C++.
-
2 дня4493 UAH
45 1 0 2 дня4493 UAHЗдравствуйте! У меня есть опыт работы с C++ и оптимизацией алгоритмов для работы с большими массивами. Реализую эффективный скрипт сортировки массива из 0/1 с возможностью полного восстановления через уникальный ранг. Есть опыт в комбинаторике и функциях ранга/анранга. Готов начать сразу.
-
1 день4448 UAH
58 1 0 1 день4448 UAHФокусируюсь на результате, работаю с уважением к задаче и деталям
-
3 дня4493 UAH
188 3 дня4493 UAHДобрый день, уже есть готовый пример такого кода на С++, можем редактировать все по вашему желанию.
-
1 день4493 UAH
144 1 день4493 UAHЗдравствуйте Меня зовут Джавид.
Реализую быструю сортировку битового массива с сохранением порядка через ранжирование комбинаций — seed ≤ 60 символов, без списка позиций.
Сделаю rank/unrank с GMP или __int128, оптимизирую с SIMD/OpenMP.
Ставка $30/час
-
10 дней8985 UAH
1303 44 5 1 10 дней8985 UAHДобрый день. Готов реализовать задачу. Обращайтесь в личные сообщения для уточнения деталей.
-
1 день4493 UAH
2381 156 5 1 день4493 UAHДобрый день.
Обращайтесь, с удовольствием выполню задание быстро и качественно.
-
5 дней4493 UAH
1970 45 3 1 5 дней4493 UAHЯ готов помочь вам сделать функцию перестановки массива битов.
Гарантирую высокое качество выполнения и быстрое завершение проекта
-
2 дня4493 UAH
2536 51 1 2 дня4493 UAHПриветствую!
Готов реализовать высокопроизводительный алгоритм сортировки битовых массивов с возможностью 100% восстановления через сохранение только ранга перестановки. Хорошо понимаю принципы комбинаторики, в частности работу с C(n, k) и биномиальными коэффициентами, и имею опыт реализации rank/unrank алгоритмов для комбинаций.
Что могу предложить:
• Реализация на C или C++ с использованием GMP или __int128 для работы с большими числами (при необходимости — Boost.Multiprecision).
• Оптимизация через SIMD, OpenMP или другие методы ускорения для массивов до 8 МБ.
• Выдача сжатого seed (например, base62 или base85), из которого возможно точно восстановить исходный массив, зная N (длину массива) и K (количество 1).
• Поддержка функции unrank() для восстановления полного порядка.
… • Чистый, комментированный код и юнит-тесты.
Опыт:
• Переписывал подобные алгоритмы с Python на C для задач в сфере криптографии, хеширования, биоинформатики.
• Работал с алгоритмами комбинаций в задачах энумерации и уникального кодирования.
• Реализовывал параллельные вычисления (OpenMP, pthreads) на больших наборах данных.
Готов взяться сразу после получения точных требований к формату seed и структуре I/O.
-
5 дней4493 UAH
970 34 0 5 дней4493 UAHДобрый вечер, готов шаг за шагом реализовать вашу задачу, также рассмотрю как сделать функцию unrank(), если это позволяет выбранный алгоритм сортировки, то сделаем.
Спасибо.
Актуальные фриланс-проекты в категории C и C++
Реверс-инжиниринг консольных утилит для опроса контроллеров SSD (Flash ID)1. Цель работы Выделение программного интерфейса (API) взаимодействия с контроллерами SSD/NVMe из предоставленного набора консольных утилит (Phison, Silicon Motion, Realtek, Maxiotek, Marvell, JMicron и др.). Результатом должно стать рабочий код на языке C/C++ или точная… C и C++, Десктопные приложения ∙ 10 часов 32 минуты назад ∙ 5 ставок |
Разработка карты семян Minecraft Java / просмотрщика семян для сайтаРазработка карты семян Minecraft Java / Seed Viewer для сайтаОписание проекта Необходимо разработать браузерный инструмент Minecraft Java Seed Map / Seed Viewer, который будет работать на нашем сайте и позволит пользователю ввести семя Minecraft Java Edition и просмотреть… C и C++, HTML и CSS верстка ∙ 17 часов 18 минут назад ∙ 10 ставок |
Сравнительный анализ эффективности кастомного ПО (v2.2-field) и эталонного ПО (Meshtastic v2.x)
1000 UAH
Сравнительный анализ эффективности кастомного ПО (v2.2-field) и эталонного ПО (Meshtastic v2.x) на идентичной аппаратной платформе (ESP32 + SX1268, 2W) по критериям дальности, пропускной способности, стабильности линка и энергопотребления. Провести тесты с замерами с учетом… C и C++, C# ∙ 5 дней назад ∙ 2 ставки |
Консультация и аудит текущего проекта на Odoo 19 Community EditionИщем Odoo разработчика — соло-разработчика с опытом разработки на Odoo 19 Community Edition, в том числе с использованием Claude Code. Нам нужен специалист, который успешно реализовал проекты в Odoo и имеет практический опыт разработки с использованием Claude Code. Важно:… C и C++, Javascript и Typescript ∙ 8 дней 1 час назад ∙ 8 ставок |
Разработка ПО для Arduino (RF-модули 3–7.5 ГГц, автоматическое сканирование частот)Необходимо разработать систему на Arduino для автоматического поиска активного аналогового видеосигнала и автоматической настройки передатчика на обнаруженную частоту.Планируется использование трех отдельных приемно-передающих модулей: 3000–4200 МГц; 4900–6000 МГц; 6100–7500… C и C++, Встраиваемые системы и микроконтроллеры ∙ 9 дней 2 часа назад ∙ 4 ставки |