いくつかのグーグル検索の後、私はそれを見つけました!
中置への接頭辞
このアルゴリズムは、末尾再帰ではない方法です。反転された入力文字列は完全にスタックにプッシュされます。
prefixToInfix(stack)
1) IF stack is not empty
a. Temp -->pop the stack
b. IF temp is a operator
i. Write a opening parenthesis to output
ii. prefixToInfix(stack)
iii. Write temp to output
iv. prefixToInfix(stack)
v. Write a closing parenthesis to output
c. ELSE IF temp is a space -->prefixToInfix(stack)
d. ELSE
i. Write temp to output
ii. IF stack.top NOT EQUAL to space -->prefixToInfix(stack)
スタックトップが
F(ABC)
アルゴリズムを入力すると、現在の値である「A」が出力に書き込まれます。
temp = A(言う)
ここで、アルゴリズムに従って出力列に「-」を取得する方法は、次の一時値は「B」であり、最後の再帰呼び出しの後にスタックからポップされました。ダイアグラムが出力をどのように示しているか"((A-"..。
私が間違った仮定をしているところは?誰かがそれを説明するのに苦労することができますか?