数据结构栈表达式求值 数据结构中n个数据依次入栈,出栈顺序有多少种?谁能帮忙证明下?
数据结构中n个数据依次入栈,出栈顺序有多少种?谁能帮忙证明下?n个数据依次入栈,出栈顺序种数的递推公式如下:F(n)=∑(F(n-1-k)*Fk)其中k从0到n-1已知F0=1,F1=F0*F0=1F
数据结构中n个数据依次入栈,出栈顺序有多少种?谁能帮忙证明下?
n个数据依次入栈,出栈顺序种数的递推公式如下:F(n)=∑(F(n-1-k)*Fk)其中k从0到n-1已知F0=1,F1=F0*F0=1F2=F1*F0 F0*F1=2F3=F2*F0 F1*F1 F0*F2=5……证明的话,对于n个数据,我只看第一个数据的出入栈顺序:第一个数据入栈到出栈之间可以包含0,1,2…n-1个数据的出入栈,相应的,第一个数据出栈之后,还有n-1,n-2…2,1,0个数据需要出入栈根据组合数学里面的乘法原理,需要把第一个数据出栈前后的种数相乘根据加法原理,需要把第一个数据出入栈的n种方式全加起来于是就得到了那个递推公式,不过,要找出一个直接计算Fn的公式似乎不太好办。