|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.12.2007, 17:18 | #1 |
Регистрация: 13.12.2007
Сообщений: 6
|
поиск кратчайшей сортировки, с минимальным кол-вом перестановок
Задача: найти комбинацию из минимального количества перестановок, необходимых для упорядочиивания некоторой числовой последовательности. За отсутствием какого оибо опыта в решении подобных задач я сначала пошел как оказалось окольными и никуда не ведущими путями: разбиваю массив на подмассивы из уже упорядоченных элементов, т.е. подпоследовательностей, "внутрь" которых ниче вставлять уже не придется. далее сортирую полученное по первому элементу подпоследовательности методом выбора. Какбы работает, но далеко не во всех случаях(((
Если ктонибудь уже сталкивался с этой задачей или знает существующие методы решения - буду очень благодарен за помощь. |
13.12.2007, 17:40 | #2 |
C# developer
Форумчанин
Регистрация: 03.10.2007
Сообщений: 393
|
Так тебе сортировка массива нужна? Каким методом?
I like WPF
|
13.12.2007, 17:52 | #3 |
Регистрация: 13.12.2007
Сообщений: 6
|
язык реализации - Java. а насчет метода сортировки - тут немного не та задача. попробую сформулировать проще - мне нужно минимальным количеством перемещений элементов последовательности упорядочить эту последовательность. например:
4 1 2 3 1 перемещение: 4 в конец. если к примеру это делать методом простого выбора, будет 3 перемещения(поочереди 1,2,3). поэтому я и разбиваю массив на уже упорядоченные группы. в данном случае: 4 1 2 3 и эти группы уже сортирую выбором. т.е. теперь, я нахожу минимальный элемент при первой итэреции - это 1. зная что 1 в группе с 2 и3, и что 4, ктороая стоит на месте 1 - "одинока", а значит "легче", перемещаю на правильную позицию 4. и так иду по всему массиву, совершая необходимые перестановки с учетом "веса" элементов. но это как оказалось не всегда работает. поэтому я ищу уже существующий алгоритм сортировки минимальным количеством перестановок... |
13.12.2007, 18:06 | #4 |
C# developer
Форумчанин
Регистрация: 03.10.2007
Сообщений: 393
|
Посмотри это может чем нибудь-поможет
I like WPF
|
13.12.2007, 18:16 | #5 |
Регистрация: 13.12.2007
Сообщений: 6
|
спасибо большое, но к сожалению это не то(((
|
13.12.2007, 18:17 | #6 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
Для вашего примера - будет 2 перестановки (при правильном выборе компаранда). Последний раз редактировалось mihali4; 13.12.2007 в 18:19. |
|
13.12.2007, 18:23 | #7 | |
Регистрация: 13.12.2007
Сообщений: 6
|
Цитата:
|
|
13.12.2007, 18:33 | #8 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Так ведь и вы - не компьютер, а человек!
Раз вы "знаете", как сделать любую сортировку за минимальное количество ходов, научите этому ваш компьютер. Рекомендую сначала почитать про методы сортировок, их придумали далеко не глупые люди... Все, как один - выдающиеся математики. Вам это ни о чем не говорит? Ни один метод сортировки не является абсолютно универсальным. Для одного массива данных оптимальным может оказаться метод Шелла, а для другого - может быть даже и "пузырьки"... К тому же параметры любого метода не исчерпываются только "количеством перестановок". Не менее важно и количество предваряющих их сравнений, не так ли? Последний раз редактировалось mihali4; 13.12.2007 в 18:57. |
13.12.2007, 18:37 | #9 |
Регистрация: 13.12.2007
Сообщений: 6
|
так ведь и не я придумал эту задачу) и я почти уверен в том, что один из выдающихся математиков когдато придумал и её решение. разумеется скорость выполнения данной сортировки - ниже известных методов. но ведь и цель - не просто как можно быстрее отсортировать - а наглядно продемонстрировать, какие нужно совершить манипуляции, чтобы отсортировать ряд быстрее всего....
|
14.12.2007, 10:23 | #10 | |
Регистрация: 13.12.2007
Сообщений: 6
|
всем спасибо огромное! ответ на вопрос нашел на другом форуме:
Цитата:
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вывод сортировки | MaXiS | Общие вопросы Delphi | 5 | 19.05.2008 08:48 |
в двухмерном массиве поменять местами столбцы с максимальным и минимальным элементами | Лёха | Помощь студентам | 5 | 18.12.2007 18:12 |
Сортировки в БД. | Шурик | БД в Delphi | 4 | 15.05.2007 17:45 |