0 / 0 / 0
Регистрация: 20.03.2012
Сообщений: 5
|
||||||
1 | ||||||
Поиск минимума рекурсией21.03.2012, 00:00. Показов 1628. Ответов 5
Метки нет (Все метки)
Добрый вечер. Не могу разобраться в программе. Требуется в динамическом одномерном массиве найти минимум методом каскадной рекурсии. Т.е массив делится на пополам, потом обе части пополам и т.д. пока не останется один элемент, который как я понимаю и будет минимальным в каждой такой частичке. И они уже между собой будут на последнем этапе сравниваться. Я написал что-то такое по аналогичному примеру. Но выдает ересь. Подскажите, где ошибся.
0
|
21.03.2012, 00:00 | |
Ответы с готовыми решениями:
5
Поиск максимума/минимума Поиск минимума функции методом последовательного перебора Реализовать поиск минимума у функций методом последовательного перебора Реализовать поиск минимума у функций методом последовательного перебора |
Master of Orion
|
|
21.03.2012, 00:05 | 2 |
Parkan2, Посмотрите, примерно что и у вас (даже рекурсивный алгоритм есть).
0
|
0 / 0 / 0
Регистрация: 20.03.2012
Сообщений: 5
|
|
21.03.2012, 00:17 [ТС] | 3 |
Psilon, Прочитал, но не могу понять ошибку. Аналогично разбиваю массив пополам (или почти пополам, если нечетное количество элементов). Затем указываю условие выхода из рекурсии. Если достигнута элементарная длина в 1 элемент. Можно считать что этот элемент минимальный. И сравниваю между собой эти половинки уже. Но что-то не то.
0
|
Master of Orion
|
|
21.03.2012, 00:22 | 4 |
Parkan2, не понимаю, зачем передавать константы, он же плодит кучу копий, тупо объявить глобальные стоило бы... В принципе мне кажется. что у вас завтык конкретно с индексами. Ну и конечно лучше объявить i j вместо i1 i2 для лучшего восприятия кода. Я утром посмотрю на свежую голову (если вы сами не додумаетесь),
Не по теме: а то 4 часа в день мало, прошу меня извинить :)
1
|
0 / 0 / 0
Регистрация: 20.03.2012
Сообщений: 5
|
|
21.03.2012, 00:38 [ТС] | 5 |
Спасибо огромное, я разобрался в своей беде. Дело в том, что я навернул слишком много всяческих переменных, забыл что можно и нужно самой функции присваивать значение. min:=min(b,i1,i1+k); вроде того. и потом ниже переменной просто передать как раз это значение res:=min(b,0,n). все заработало. Благодарю.
0
|
Psilon
|
21.03.2012, 00:41
Поиск минимума рекурсией
#6
|
Не по теме: Parkan2, рад за вас :)
0
|
21.03.2012, 00:41 | |
в чем ошибка( поиск максимума в строке и потом нахождение минимума) Поиск минимума у функций методом квадратичной параболы Поиск минимума с рекурсией Бинарный поиск рекурсией Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |