数据结构中的递归算法问题
问题描述:
数据结构中的递归算法问题
众所周知 利用递归+fOR循环可以产生任意位数的全排列,但是效率很低.请问有什么算法可以实现不用递归+for循环就可以穷举任意位全排列的呢?
答
全排列问题是没办法优化的!
你生成了全排列总得输出(存储)吧?这至少要1个单位时间吧?而n个数的全排列有n!个吧?那至少要n!的时间吧?
恰恰你递归+for的次数也是n!次.所以最多也只是在时间上乘以2而已.何况存储用的时间远高于运算用的时间.输出就更费时了.