Форум программистов, компьютерный форум CyberForum.ru

Алгоритм рекурсивного спуска - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
06.08.2014, 22:47     Алгоритм рекурсивного спуска #1
подскажите что почитать про этот алгоритм? хочу реализовать парсер математических выражений (без переменных, но с функциями типа sin, cos...), пишу на c++ а то в гугле все примеры на других языках =(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.08.2014, 22:47     Алгоритм рекурсивного спуска
Посмотрите здесь:

C++ Написать функцию рекурсивного бинарного поиска
C++ Разбить целое число на простые множители с помощью рекурсивного алгоритма
Время выполнения рекурсивного и итерационного алгоритма быстрой сортировки C++
Программа рекурсивного нахождения НОД. Не могу понять. C++
Каким образом в переменную записывается результат каждого рекурсивного вызова? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
tramp_1-3
 Аватар для tramp_1-3
14 / 14 / 1
Регистрация: 13.10.2012
Сообщений: 428
07.08.2014, 07:06     Алгоритм рекурсивного спуска #2
GetHelp, если не ошибаюсь, в книге Страуструпа С++ он как раз применяется для разбора примера калькулятора. я об него мозг сломал, но до конца не понял. советую взглянуть.
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
07.08.2014, 10:37  [ТС]     Алгоритм рекурсивного спуска #3
tramp_1-3, блииин там че то так все запутано... хрен че поймешь... а может есть где нибудь попонятнее?
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
07.08.2014, 10:39  [ТС]     Алгоритм рекурсивного спуска #4
подскажите что почитать про этот алгоритм? хочу реализовать парсер математических выражений (без переменных, но с функциями типа sin, cos...), а то в гугле все примеры на других языках =(

з.ы. только что нибудь попонятнее струпа а то там вообще ппц
tramp_1-3
 Аватар для tramp_1-3
14 / 14 / 1
Регистрация: 13.10.2012
Сообщений: 428
07.08.2014, 10:54     Алгоритм рекурсивного спуска #5
GetHelp, можно написать предложенную программу и пошагово пройти отладчиком до самых низов и наоборот. лично я так понял рекурсию. с неё бы и хорошо начать. больше, увы, с рекурсивным спуском не сталкивался, всего хорошего.
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6159 / 2888 / 282
Регистрация: 04.12.2011
Сообщений: 7,686
Записей в блоге: 3
08.08.2014, 00:57     Алгоритм рекурсивного спуска #6
Мне попался:
Арт Фридман, Ларс Кландер, Марк Михаэлис, Херб Шилдт
С/С++ Архив программ, код с комментариями
Вообще, судя по Вашим вопросам GetHelp, я бы не стал торопиться. Лучше более простые вещи поучить. Рекурсивный спуск, - самый простой в реализации алгоритм разбора и вычисления, но лучше не торопитесь.
Смысл алгоритма в том, что два метода взаимно рекурсивно вызывают друг дружку. Один разбирает лексемы и отыскивает участок который можно вычислить (старшего приоритета) и передаёт методу который вычисляет результат и замещает его лексемой результата в исходном выражении, после чего вызывает первый метод. И так до тех пор пока не останется лексема результата, - например 1.2345... или пока программа не повиснет.
Вообще, это простой но медленный метод, так как сочетает вычисление и разбор одновременно. Есть ещё таблично-управляемые методы и др.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.08.2014, 01:53     Алгоритм рекурсивного спуска
Еще ссылки по теме:

C++ Рекурсия: написать программу для вычисления рекурсивного ряда sin x
Просуммировать члены последовательности с использованием рекурсивного вызова C++
Программа рекурсивного спуска выражения и перевода в постфиксный вид C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Mr.X
Эксперт С++
 Аватар для Mr.X
2797 / 1573 / 246
Регистрация: 03.05.2010
Сообщений: 3,651
08.08.2014, 01:53     Алгоритм рекурсивного спуска #7
Вот, когда-то давно приводил здесь свою программку.
Yandex
Объявления
08.08.2014, 01:53     Алгоритм рекурсивного спуска
Ответ Создать тему
Опции темы

Текущее время: 16:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru