Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/22: Рейтинг темы: голосов - 22, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 14
1

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

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

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



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


выход:
дерево
0
Изображения
 
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.07.2013, 00:11
Ответы с готовыми решениями:

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

Обратная польская запись
Добрый день, подскажите, как будет выглядеть обратная польская запись для for (i=0;i<n;i++){...

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

Обратная польская запись
В обратной польской записи, которую также называют постфиксной, операция записывается после двух...

2
_
317 / 151 / 27
Регистрация: 08.10.2011
Сообщений: 432
12.07.2013, 10:27 3
Цитата Сообщение от Александр30 Посмотреть сообщение
Подскажите, как по обратной польской записи выражения построить дерево выражения
Переформулирую: как, зная обход бинарного дерева в обратном порядке (левый-правый-корень), восстановить это дерево.

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

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

Но над реализацией надо немного подумать (я не указал когда вытаскиваются числа из обхода). Думайте.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.07.2013, 10:27

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

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

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

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


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

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

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