4 / 4 / 0
Регистрация: 24.10.2010
Сообщений: 200
|
|
1 | |
Сортировка Quick Sort05.11.2010, 12:41. Показов 44695. Ответов 13
Метки нет (Все метки)
0
|
05.11.2010, 12:41 | |
Ответы с готовыми решениями:
13
Быстрая Сортировка quick-sort (ошибка в 40 строке) как исправить? Quick sort c++ Quick sort using vectors Реализация алгоритма Quick sort |
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
05.11.2010, 12:42 | 2 | |||||
Hardcore,
0
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
|
05.11.2010, 12:45 | 3 |
0
|
4 / 4 / 0
Регистрация: 24.10.2010
Сообщений: 200
|
|
05.11.2010, 12:49 [ТС] | 4 |
Игнат, твоя ссылка не работает.
Можешь написать весь код с доступными коментами
0
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
|||||||||||
05.11.2010, 13:03 | 5 | ||||||||||
Быстрая сортировка (сортировка Хоара)
"Быстрая сортировка", хоть и была разработана более 40 лет назад, является наиболее широко применяемым и одним их самых эффективных алгоритмов. Псевдокод. Код: //----------------------- quickSort ( массив a, верхняя граница N ) { Выбрать опорный элемент p - середину массива Разделить массив по этому элементу Если подмассив слева от p содержит более одного элемента, вызвать quickSort для него. Если подмассив справа от p содержит более одного элемента, вызвать quickSort для него. } //----------------------- Реализация на C++.
Итеративный алгоритм быстрой сортировки. Псевдокод. Код: //-------------------------------------------- Итеративная QuickSort (массив a, размер size) { Положить в стек запрос на сортировку массива от 0 до size-1. do { Взять границы lb и ub текущего массива из стека. do { 1. Произвести операцию разделения над текущим массивом a[lb..ub]. 2. Отправить границы большей из получившихся частей в стек. 3. Передвинуть границы ub, lb чтобы они указывали на меньшую часть. } пока меньшая часть состоит из двух или более элементов } пока в стеке есть запросы } //-------------------------------------------- Реализация на С++.
Пример взял по той ссылки, она действительно не работает, не понятно почему.
2
|
4 / 4 / 0
Регистрация: 24.10.2010
Сообщений: 200
|
||||||
05.11.2010, 13:11 [ТС] | 6 | |||||
0
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
||||||
05.11.2010, 13:16 | 7 | |||||
0
|
4 / 4 / 0
Регистрация: 24.10.2010
Сообщений: 200
|
|
05.11.2010, 13:18 [ТС] | 8 |
проверь, у тебя там что то не так.
ошибку приводит когда вводишь цифры. а если можешь, то напиши сам занова код с начала до конца с коментами и без больших наваротов.
0
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
|
05.11.2010, 13:26 | 9 |
У меня, ни каких ошибок не происходит.
0
|
4 / 4 / 0
Регистрация: 24.10.2010
Сообщений: 200
|
|
05.11.2010, 13:36 [ТС] | 10 |
А можешь по новому написать код?
без классов и по проще?
0
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
||||||
05.11.2010, 13:45 | 11 | |||||
0
|
6 / 6 / 0
Регистрация: 05.11.2010
Сообщений: 60
|
|
05.11.2010, 13:56 | 12 |
Просмотрел код и не нашел перемешивания массива в случае приближения к дну стека. А, таким образом, возможен худший случай - глубина стека n.
0
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
|
05.11.2010, 14:33 | 13 |
Zilon
Все претензии к автору, кода я всего лишь скопировал.
0
|
6 / 6 / 0
Регистрация: 05.11.2010
Сообщений: 60
|
|
05.11.2010, 14:41 | 14 |
Да какие претензии?
Просто внимание обращаю. Я сейчас тоже QS пишу и в рамках этой задачи написал shuffld. До этого 3 дня Кнута штурмовал, по поводу генерации случайных чисел для перемешивания.
0
|
05.11.2010, 14:41 | |
05.11.2010, 14:41 | |
Помогаю со студенческими работами здесь
14
Quick sort, не понятно некоторые моменты. Алгоритм Быстрой сортировки (Quick Sort) Метод сортировки quick sort ведомость абитуриентов Написать функцию Quick Sort для массива с 2000 элементов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |