1 / 1 / 0
Регистрация: 13.10.2012
Сообщений: 28
|
||||||
1 | ||||||
Quick Sort, рекурсия15.10.2013, 15:03. Показов 1941. Ответов 11
Метки нет Все метки)
(
Помогите пожалуйста с рекурсией, пишу Быструю Сортировку, все нормально работает до второго вызова рекурсии
0
|
|
15.10.2013, 15:03 | |
Ответы с готовыми решениями:
11
IndexOutOfRangeExeption в алгоритме Quick Sort
Quick sort c++ Сортировка Quick Sort |
154 / 153 / 29
Регистрация: 21.05.2010
Сообщений: 338
|
||||||
15.10.2013, 15:21 | 2 | |||||
Lordik192, зачем такие извращения?
0
|
valera_21
|
15.10.2013, 15:23
#3
|
0
|
1 / 1 / 0
Регистрация: 13.10.2012
Сообщений: 28
|
|
15.10.2013, 15:25 [ТС] | 4 |
у меня задание в университете по алгоритмам, нужно самостоятельно реализовать
0
|
154 / 153 / 29
Регистрация: 21.05.2010
Сообщений: 338
|
|
15.10.2013, 15:39 | 6 |
Не по теме: tezaurismosis, вы ещё скажите, что не нужно пользоваться готовыми библиотеками, паттернами и т.д. И компилятор свой нужно писать. А вдруг все исчезнут? Я же не знаю, для чего товарищу Lordik192. Вдруг он не знает про готовые методы. А по делу: Lordik192, вот вам алгоритмы, пользуйтесь.
1
|
606 / 581 / 157
Регистрация: 29.06.2010
Сообщений: 1,620
|
||||||
15.10.2013, 15:45 | 7 | |||||
не уверен что этот алгоритм можно причислить к быстрым (по моему их вообще штуки 3 общеизвестных), но он всяко быстрее чем изначальный со встроенными While() =)
0
|
1 / 1 / 0
Регистрация: 13.10.2012
Сообщений: 28
|
|
15.10.2013, 15:49 [ТС] | 8 |
спасибо, я их уже видел, когда искал код с qsort, но мне интересно самому ее написать, и сравнить различие в скорости выполнения. Но у меня вышла проблема с рекурсией в моем методе и мне интересно, что в ней не так, все еще надеюсь, что кто-то поможет.
Добавлено через 2 минуты Спасибо, но я сейчас разбираюсь именно с qSort, а Вы мне предлагаете нечто другой алгоритм
0
|
606 / 581 / 157
Регистрация: 29.06.2010
Сообщений: 1,620
|
||||||||||||||||
15.10.2013, 16:13 | 9 | |||||||||||||||
проблема в том, что алгоритм не работает © КЭП
просто подумай сам, после первого вызова алгоритма срабатывает цикл While(), который даже не хочу понимать что делает, после того цикл пройдёт наконец по всем эллементам, и по моему даже не по одному разу, этот же метод сортировки вызывается ещё 2 раза, в каждом из которых присуствует как цикл While(), так и ещё пара вызовов этого же метода... Добавлено через 4 минуты по коду: это явно китайский подход:
как я уже упоминал, даже еслиб это работало, оно слишком ужасно: а вообще, минимально изменённый ваш код вот:
0
|
tezaurismosis
|
15.10.2013, 16:22
#10
|
Не по теме: Smems, такую чушь пороть не буду, это неверный вывод из моих слов. Программист должен знать как работают алгоритмы, компиляторы и пр. поэтому студентов заставляют их изучать и писать. Ну а по поводу того, что вы не сразу поняли, что это студент ... пусть будет так. :mda:
0
|
1 / 1 / 0
Регистрация: 13.10.2012
Сообщений: 28
|
|
15.10.2013, 16:24 [ТС] | 11 |
мой цикл While() выполняет нахождение абсолютной позиции элементом и поэтому он выполняется в самом начале, цикл проходит через все элементы лишь единожды. То что у меня "китайский" подход это не удивительно, я его только начал писать и еще не оптимизировал.
По поводу двойного рекурсивного вызова, то алгоритм qSort сам собой подразумевает разбиение массива на 2 части и отдельную их сортировку, то что Вы предлагаете не совсем соответствует алгоритму, который я стремлюсь реализовать
0
|
606 / 581 / 157
Регистрация: 29.06.2010
Сообщений: 1,620
|
|
15.10.2013, 16:42 | 12 |
хм... по правде говоря терзаюсь сомнениями, куда же вас послать, то ли на фриланс, то ли к терапевту...
вам указали где ошибка, вам указали пару вариантов решения проблемы, а вы весь такой "а я хочу по другоооому..."
0
|
15.10.2013, 16:42 | |
Помогаю со студенческими работами здесь
12
Quick sort using vectors
Нахождения медианы quick sort Реализация алгоритма Quick sort Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |