Информатика • 11 класс
274

Построение дерева для заданного арифметического выражения (C++)

Изображение 1
  • Инфиксное выражение: (5 + 3) / (4 2).
  • Префиксное выражение: /+-5342.
  • Алгоритм построения дерева:
    • обозначение приоритета операций («*» и «/» 1, «+» и «» 2, остальные любое число от 3 до 100);
    • поиск компилятором операции с наименьшим приоритетом и помещение его в корень дерева (элемент n);
    • создание нового узла-операции (корня) с записью в него операции (выделение памяти с указателем на родительский узел);
    • выполнение рекурсии:
      • запись в левое поддерево элементов от first до n 1;
      • запись в левое поддерево элементов от n + 1 до last.
Было полезно?

Рекомендуем

Вы учитель или ученик?
Познакомьтесь с нашим образовательным онлайн-сервисом с тысячами интерактивных работ
Учителю
Удобно проводить уроки в классе, назначать работы на дом и анализировать результаты всего класса или конкретных учеников
Ученику
Самостоятельно изучать новые и повторять пройденные темы, готовиться по индивидуальной траектории и оценивать результаты на наглядных графиках
Зарегистрироваться в «Облаке знаний»