Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [pascal] Метод сортировки линейный выбор с обменом


Автор: Limpopo 25.1.2007, 15:26
Помогите пожалуста с этим методом сортировки


Например мне нужно сортировать строки  методом линейного выбора с обменом smile

Завал помогите кому не трудно

Автор: Sunvas 25.1.2007, 15:32
А в чем заключается этот метод?

Автор: Shadowlord 25.1.2007, 16:01
Limpopo ты не чего не путаешь?
По точнее задание
Рискну предположить, что тут какаято путаница двух методов:
сортировка с помощью прямого выбора
сортировка с помощью прямого объмена

Автор: V.A.KeRneL 25.1.2007, 18:10
Цитата(Limpopo @  25.1.2007, 15:26 Найти цитируемый пост)

Например мне нужно сортировать строки  методом линейного выбора с обменом smile

Limpopo, я знаю несколько классических алгоритмов сортировки, одна из которых, вероятнее всего, подразумевается: 
1) http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_%D0%BF%D1%83%D0%B7%D1%8B%D1%80%D1%8C%D0%BA%D0%BE%D0%BC (Bubble sort) — сложность алгоритма: O(n^2); для каждой пары индексов производится обмен, если элементы расположены не по порядку.
2) http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%BC_%D0%B2%D1%81%D1%82%D0%B0%D0%B2%D0%BE%D0%BA (Insertion sort) — cложность алгоритма: O(n^2); определяем где текущий элемент должен находится в отсортированном списке и вставляем его туда.
3) http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_%D1%81%D0%BB%D0%B8%D1%8F%D0%BD%D0%B8%D0%B5%D0%BC (Merge sort) — сложность алгоритма: O(n*log(n)); требуется O(n) дополнительной памяти; сортируем первую и вторую половину списка отдельно, а затем — сливаем отсортированные списки.
4) http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%BC_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0 (Selection sort) — Сложность алгоритма: O(n^2); поиск наименьшего или наибольшего элемента и помещения его в начало или конец отсортированного списка.

(см. http://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8).

«Сортировки обменом» я не знаю, но факты обменов элементов есть в них во всех, т.к. нужно поменять некоторые элементы местами для того, чтобы неупорядоченный массив стал отсортированным.

Ещё http://www.google.com/search?hl=en&q=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B+%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8&btnG=Google+Search тебе в помощь, естественно.

Автор: dePriest 16.3.2008, 15:15
Прикол собственно и заключается в том что никто не знает что это за алгоритм. 

У меня среди заданий в лабораторной работе тоже есть эта "сортировка методом линейного выбора с обменом". Правда не строки или массива. 

Ни google, ни, тем более, wiki мне не помогли в этом вопросе.

Посему большая просьба, если ктонибудь узнает что это за страшный зверь - киньте инфу пожалуйста. В любом виде.

Автор: Programmer777 3.7.2009, 12:45
Это просто как пареная репа:
При сортировке простым выбором элементы, начиная с наименьшего копируются в новый массив, а в старом заменяются на наибольший. 
При сортировке выбором с обменом наименьший элемент меняется местами с первым, наименьший из оставшихся - со вторым и т.д.
Алгоритм составите сами. smile  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)