Мастер кустарных методов
232 / 227 / 17
Регистрация: 09.11.2010
Сообщений: 680
|
|||||||||||
1 | |||||||||||
Алгоритм Быстрой сортировки (Quick Sort)25.11.2010, 17:27. Показов 135140. Ответов 16
Метки нет Все метки)
(
Всем доброго времени суток. Реализовал Быструю Сортировку на C++. Всё работает. Только препод требует доказать, что мой алгоритм правильный. Не знаю как это сделать... Помогите пожалуйста. Вот код:
Файл qs.cpp:
2
|
|
25.11.2010, 17:27 | |
Ответы с готовыми решениями:
16
Qvick-sort алгоритм быстрой сортировки. Гляньте плс( Метод сортировки quick sort ведомость абитуриентов
Не алгоритм быстрой сортировки |
Freelance
![]() 2890 / 1825 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
|
|
25.11.2010, 18:16 | 2 |
0
|
Freelance
![]() 2890 / 1825 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
|
|
25.11.2010, 18:49 | 4 |
LEQADA, зато там правильный алгоритм быстрой сортировки.
0
|
![]() 5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
26.11.2010, 06:44 | 7 |
Да, вроде работает, мне условие сначала показалось неверным.
0
|
![]() |
|
26.11.2010, 07:10 | 8 |
LEQADA, во-первых докажите, что алгоритм справляется со своей задачей, то есть либо подготовьте данные заранее, либо напишите функцию, которая проверяет последовательность на неубывание/невозрастание, в общем докажите, что функция сортировки на самом деле сортирует.
во-вторых, если требуется доказать, что этой алгоритм действительно быстрой сортировки, подготовьте специальный набор данных и подсчитайте количество итераций, конечно для этого набора данных должно быть известно верное количество итераций.
1
|
![]() 476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
|
|
26.11.2010, 07:35 | 9 |
В Кормене, например, доказательство есть.
0
|
![]() 5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
26.11.2010, 11:35 | 11 |
LEQADA, очевидно, фамилия.
0
|
![]() 3224 / 1751 / 435
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
26.11.2010, 12:27 | 12 |
В худшем случае (при сортировке уже отсортированного массива) время работы быстрой сортировки пропорционально n^2. А ее среднее время работы пропорционально n*log2(n) (log2 здесь логарифм по основанию 2).
Т.е. для доказательства достаточно для некоторого фиксированного n сначала замерить время сортировки отсортированного массива, а затем вычислить среднее время сортировки одного массива из некоторого множества из m случайных массивов, и найти их отношение A. Если A при увеличении m стремится к n^2/n*log2(n), т.е. к величине B = n/log2(n) (например, при n = 256 B = 32), то сортировка является быстрой.
0
|
![]() |
|
26.11.2010, 15:38 | 13 |
![]() Решение
LEQADA, А вы читаете только не больше 10 слов из сообщений?
и далее, 1) Подготовьте данные заранее: Создайте заготовки данных, например, в файле. Где будут храниться начальная последовательность - несортированная, и эталонная - сортированная. Эти данные заведомо правильные. Подготовьте средние и крайние случаи. Применяете алгоритм к начальной последовательности и сравниваете ее с эталоном. 2) Напишите функцию, которая проверяет последовательность на неубывание или невозрастание: здесь даже никаких объяснений не надо. 3) Найдите математическое доказательство. Кормен - это не что, а автор, профессор компьютерных наук.
3
|
![]() 5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
26.11.2010, 16:00 | 14 |
1
|
programina
|
14.11.2012, 11:37
#15
|
0
|
104 / 18 / 2
Регистрация: 11.09.2014
Сообщений: 174
|
||||||||||||||||
09.11.2015, 18:22 | 16 | |||||||||||||||
оживлю, пожалуй, мамонта, потому что есть как раз вопрос по данной выше ссылке
мне, собственно, непонятен только один момент:
Добавлено через 32 минуты сам нашёл ответ =)) з.ы. однако, данный алгоритм почему-то не работает ![]() Добавлено через 32 минуты нашёл почему не работает - пришлось расписывать все шаги компа на бумажке вот в этой строке ошибка:
1
|
0 / 0 / 0
Регистрация: 14.05.2016
Сообщений: 4
|
|
24.11.2016, 16:00 | 17 |
Твоя быстрая сортировка не работает- почитай википедию
0
|
24.11.2016, 16:00 | |
24.11.2016, 16:00 | |
Помогаю со студенческими работами здесь
17
Алгоритм быстрой сортировки Реализовать алгоритм быстрой сортировки Алгоритм быстрой сортировки по убыванию Алгоритм быстрой сортировки против пузырька Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |