Я не уверен, с какими выражениями нужно доказывать алгоритм. Но если они выглядят как типичные выражения RPN, вам нужно установить что-то вроде следующего:
1) algoritm works for 2 operands (and one operator)
and
algorithm works for 3 operands (and 2 operators)
==> that would be your base case
2) if algorithm works for n operands (and n-1 operators)
then it would have to work for n+1 operands.
==> that would be the inductive part of the proof
Удачи; -)
Примите душевное равновесие в отношении математических доказательств, а также их иногда запутанных имен. В случае индуктивного доказательства все еще ожидается, что он "что-то выяснит" (некоторый факт или какое-то правило), иногда с помощью дедуктивной логики, но затем эти факты и правила соединяются вместе создать более широкую истину, купить индукцию; То есть: поскольку базовый случай установлен как истинный и поскольку доказано, что если X был истинным для случая «n», то X также был бы истинным для случая «n + 1», тогда нам не нужно пытаться каждый случай, который может быть большим числом или даже бесконечным)
Вернемся к анализатору выражений на основе стека ... Последний совет (в дополнение к превосходному объяснению капитана Сегфо, вы будете чувствовать себя более информированным ...).
The RPN expressions are such that:
- they have one fewer operator than operand
- they never provide an operator when the stack has fewer than 2 operands
in it (if they didn;t this would be the equivalent of an unbalanced
parenthesis situation in a plain expression, i.e. a invalid expression).
Если предположить, что выражение допустимо (и, следовательно, не предоставляет слишком много операторов слишком скоро), порядок, в котором операнды / операторы подаются в алгоритм, не имеет значения; они всегда оставляют систему в стабильном положении:
- либо с одним дополнительным операндом в стеке (но известно, что один дополнительный операнд в конечном итоге придет), либо
- с одним меньшим количеством операндов в стеке (но знание того, что число операндов еще впереди, также на один меньше).
Так что порядок не имеет значения.