Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Обратная польская запись


Автор: asmworm 23.8.2004, 01:16
Люди, где можно найти полное описание(и нормальное) польской записи. Тот алгоритм что я надыбал в интернете плохо работает. Ну например на http://algolist.manual.ru/ есть один. И если по этому алгоритму перевести выпажение типа 2+3*4 то получиться 234*+ , а по определению должно получиться 34*2+.

Автор: Akina 23.8.2004, 08:43
1) Имхо достаточно нормалдьно там все описано чтобы самому написАть разбор.
2) Нечего жаловаться на нерабочесть демки - найди и поправь ляпы если тебе позарез.
3) Ссылки по отзывам ниже статьи пробежал? Нет? зря...
4) Поиск по Инету дает просто море материала, и с прогами и без - выбирай, читай, скачивай, тестируй...

Автор: maxim1000 23.8.2004, 09:38
Цитата
И если по этому алгоритму перевести выпажение типа 2+3*4 то получиться 234*+ , а по определению должно получиться 34*2+.

так а что ж тут неправильного?
я бы даже сказал, первый вариант более правильный, т.к. сохраняет порядок следования операндов (для сложения, конечно, это неважно, но если бы на его месте было бы деление...)

Автор: HaronDDC 23.8.2004, 15:36
Гм...
А Вы, случайно, не занимаетесь проблемой символического исчисления?
По поводу польской записи - на algolist - алгоритм не подразумевает скобки (если мне не изменяет память, но его легко "докрутить")

Вообще говоря, считается, что для символической обработки удобна полная префиксная форма дерева, например
2+3*х записывается
(+ 2 (* 3 х))

Такая запись неплоха для Лиспа (хороший язык).

Вообще, если у Вас возникнет желание разрабатывать символический движок далее (чем я судорожно занимаюсь), то можем скооперировать усилия (в, частности, для реализации алгебраических упрощений), затем символическое интегрирование и т. д. и т. п.

вот [email protected]

Размышляйте!

Автор: gibbzy 15.2.2008, 16:37
http://ru.wikipedia.org/wiki/Обратная_польская_запись

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)