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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.67
Александр30
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 14
#1

Обратная польская запись - C++

12.07.2013, 00:11. Просмотров 2575. Ответов 2
Метки нет (Все метки)

Подскажите, как по обратной польской записи выражения построить дерево выражения



Например:
дана запись 1 2 + 3 4 * -


выход:
дерево
0
Изображения
 
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2013, 00:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обратная польская запись (C++):

Обратная Польская Запись - C++
Сам вопрос: Я написал программу, она работает, но препод по Структурам данных сломал ее в два счета. Я нашел ошибку, но как ее исправить...

Обратная польская запись - C++
Простите что не совсем в том разделе, просто его больше всего людей посещает) По теме: Как при вычислении выражения из строки...

Обратная польская запись - C++
Здравствуйте, изучаю обратную польскую запись, столкнулся с такой проблемой: Перерыл множество алгоритмов перевода из обычной записи в...

Обратная польская запись - C++
Нужно создать класс с++ для вычисления обратной польской записи с помощь стека.

Обратная польская запись - C++
Доброго времени суток. Нужно сделать программу которая переводит арифм. выражение в обратную польскую запись и считает его по ней. ...

Обратная польская запись - C++
Нужна помощь. Есть программа с общей польской записью. Программа принимает только буквенное выражение ( например: "a+b+c*d" и т.д), а...

2
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
12.07.2013, 00:45 #2
http://habrahabr.ru/post/100869/

Добавлено через 5 минут
Обратная польская запись
Перевод инфиксного выражения в постфиксное (обратная польская запись)
Задача "Калькулятор"
0
ya_noob
_
201 / 145 / 9
Регистрация: 08.10.2011
Сообщений: 432
12.07.2013, 10:27 #3
Цитата Сообщение от Александр30 Посмотреть сообщение
Подскажите, как по обратной польской записи выражения построить дерево выражения
Переформулирую: как, зная обход бинарного дерева в обратном порядке (левый-правый-корень), восстановить это дерево.

Алгоритм тривиален:
(вариант №1: идем по выражению слева направо)
1. восстанавливаем левое поддерево (рекурсия)
2. восстанавливаем правое поддерево (рекурсия)
3. вытаскиваем из обхода корень дерева (т.е. знак операции)
4. соединяем его с найденными поддеревьями.

(вариант №2: идем по выражению справа налево)
1. вытаскиваем из обхода корень дерева (знак операции)
2. восстанавливаем правое поддерево (рекурсия)
3. восстанавливаем левое поддерево (рекурсия)
4. соединяем потомков с корнем.

Но над реализацией надо немного подумать (я не указал когда вытаскиваются числа из обхода). Думайте.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2013, 10:27
Привет! Вот еще темы с ответами:

Обратная польская запись. С++ - C++
Необхдимо дописать программу, что бы она работала с унарным минусом. Обратная польская запись, С++. #include <iostream> #include...

Обратная польская запись - C++
Что такое обратная польская запись и как её реализовать на С++? Почему когда в программе я пишу a=2+2; всё считает нормально, а когда пишу...

Обратная польская запись - C++
Пожалуйста помогите, всю голову себе сломал. Задание: "Обеспечить перевод инфиксного выражения в ОПЗ и вычислить его результат. Входные...

Калькулятор: обратная польская запись - C++
Всем доброго времени суток! Решил написать для себя калькулятор, который бы решал сложные выражения с учетом скобок, каких-либо функций и...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru