![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Интерпретатор, структуры данных. [D6, D7]
ZeaLoT © (2003-02-03 16:48:00)В результате обработки текста (матиематического выражения) строится дерево операций. Для вычисления приходится пользоваться рекурсией и передавать данные от ветви к узлу. Можно убрать рекурсию и как-нибудь оптимизировать передачу данных?
Sha (2003-02-03 17:43:00) [1]> ZeaLoT (03.02.03 16:48)
> В результате обработки текста (матиематического выражения) строится дерево операций.
>Для вычисления приходится пользоваться рекурсией и передавать данные от ветви к узлу.
Для вычислений по формуле (калькулятор) можно использовать обратную польскую запись - рекурсия не потребуется.
Неглубокая рекурсия по нескольким переменным тоже прекрасно программируется.
В сложных случаях (рекурсивные выражения с неизвестной глубиной при наличии if) можно попробовать использовать массивы для хранения информации об условиях, операциях и их аргументах.
uw (2003-02-03 17:04:00) [2]"Циклы - для человека, рекурсии - для бога". Но любая рекурсия может быть заменена циклом.
Digitman (2003-02-03 16:58:00) [3]а в чем, по-твоему, неоптимальность при рекурсивном алгоритме ?