-37 / 5 / 1
Регистрация: 09.12.2020
Сообщений: 194
|
|
1 | |
Delphi Быстрая сортировка20.12.2020, 17:27. Показов 717. Ответов 0
Решил создать тему, потому что решения не смог нагуглить.
Берем строку "абракадабра", применяем к ней сортировку и получаем строку - "аааааббдкрр" А вот это уже полностью отсортированная строка, хотя начальные строки остались прежние "аааааббдкрр" ----- абра абракадабр абракадабра - исходная строка адабра акадабра бра бракадабра дабра кадабра ра ракадабра Требуется именно быстрая сортировка Хора, потому что она самая быстрая. Но проблема заключается в том, что во всех примерах (типа Википедии) она сравнивает символы строки, но не подстроки, как выше приведено в примере. Если есть пример на Паскале, то можно переписать на ассемблер, но если есть готовый кусок кода на ассемблере, то без комментариев в нем не обойтись никак, чтобы поменять там логику потом. Как решают эту проблему. Например, берут память х2 и строка становится длиннее "абракадабраабракадабра". Плохой вариант. Или берут 2 массива "абракадабра" "абракадабра" и сравнивают. Плохой вариант. Все потому, что памяти всегда не хватает, надо экономить и требуется сортировать только 1 строку. Вообще-то, требуется набор ссылок на позиции в строке и сортировать именно ссылки, я это сделал, сортировка происходит, но частично есть мусор, вот так - "аааббдкрраа". Это происходит потому, что в классике идет сравнение не подстрок в Хоар, а только символов (через переменную в стеке и ссылкой на память). Понятно, что длинную строку не впихнуть в стек и если я сравниваю 2 ссылки на память, сортировка нарушается, хотя она и есть. Есть ли готовое решение на ассемблере или Паскале для быстрой сортировки Хоар? Строка будет длинная, максимально 2 Гб, но хотя бы на 400 Мб. Встроенные функции сортировки не устраивают, они узкозаточенные, пока не буду говорить об этом, в чем там проблема. Сравнивать нужно побайтово, нужен кусок кода, остальное я допишу сам. В итоге, все будет переписано на ассемблер, хочется сразу посмотреть решение на ассемблере И надо конечно избавиться от рекурсии сортировки
0
|
20.12.2020, 17:27 | |
Ответы с готовыми решениями:
0
Быстрая сортировка Быстрая сортировка Разработать программу сортировки: сортировка перестановкой, сортировка вставкой, быстрая сортировка Сортировки во внутренней памяти(сортировка стопками, быстрая и пирамидальная сортировка) |
20.12.2020, 17:27 | |
20.12.2020, 17:27 | |
Помогаю со студенческими работами здесь
1
Быстрая сортировка, ситуация, при которой сортировка работает не корректно Сквозная сортировка матрицы по строкам по неубыванию (быстрая сортировка) Быстрая сортировка(сортировка Хоара). Отсортировать фрагмент массива Быстрая сортировка (сортировка Хоара) для связных списков Быстрая сортировка и Обменная сортировка - реализация API функции Отсортировать первую половину одномерного массива по убыванию (Сортировка простыми вставками и быстрая сортировка) (разм Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |