Оглавление:
- Определение - Что означает обратная польская нотация (RPN)?
- Техопедия объясняет обратную польскую запись (RPN)
Определение - Что означает обратная польская нотация (RPN)?
Обратная польская запись (RPN) - это метод для передачи математических выражений без использования разделителей, таких как скобки и скобки. В этой нотации операторы следуют за своими операндами, что устраняет необходимость в скобках для определения приоритета оценки. Операция читается слева направо, но выполнение выполняется каждый раз, когда достигается оператор, и всегда использует последние два числа в качестве операндов. Эта нотация подходит для компьютеров и калькуляторов, так как меньше отслеживаемых символов и меньше выполняемых операций.
Обратная польская запись также известна как постфиксная запись.
Техопедия объясняет обратную польскую запись (RPN)
Обратная польская запись была предложена Берксом, Уорреном и Райтом в 1954 году и названа так потому, что это была просто обратная польская запись (префиксная запись), изобретенная польским логиком Яном Лукасевичем, которая ставит оператора перед операндами. В 1960-е годы Э. У. Дейкстра и Ф. Л. Бауэр независимо друг от друга заново изобрели его, чтобы уменьшить количество обращений к памяти компьютера и повысить производительность. Он использовал стек компьютера для хранения своих операндов перед выполнением оператора.
RPN приводит к более быстрым вычислениям по нескольким причинам. Во-первых, информации для хранения меньше. Поэтому вместо того, чтобы хранить девять символов для выражения ((5 - 3) * 2), компьютеры, использующие RPN, должны хранить только пять символов с выражением 5 3 - 2 *. И поскольку для обработки требуется меньше символов, выполнение становится быстрее.
Таким образом, в компьютере, использующем RPN, оценка выражения 5 1 - 3 * выглядит следующим образом:
- Нажмите 5 в стек. Это первое значение.
- Нажмите 1 в стек. Это второе значение и находится на позиции выше 5.
- Примените операцию вычитания, взяв два операнда из стека (1 и 5). Верхнее значение (1) вычитается из значения ниже него (5), а результат (4) сохраняется в стеке. 4 теперь единственное значение в стеке и находится внизу.
- Нажмите 3 в стек. Это значение находится в позиции выше 4 в стеке.
- Примените операцию умножения, взяв последние два числа из стека и умножив их. Результат затем помещается обратно в стек. После этой операции стек теперь содержит только число 12.