Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Интерпретатор, структуры данных. [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]

а в чем, по-твоему, неоптимальность при рекурсивном алгоритме ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо