题目
数据结构中的递归算法问题
众所周知 利用递归+fOR循环可以产生任意位数的全排列,但是效率很低.请问有什么算法可以实现不用递归+for循环就可以穷举任意位全排列的呢?
众所周知 利用递归+fOR循环可以产生任意位数的全排列,但是效率很低.请问有什么算法可以实现不用递归+for循环就可以穷举任意位全排列的呢?
提问时间:2021-03-26
答案
全排列问题是没办法优化的!
你生成了全排列总得输出(存储)吧?这至少要1个单位时间吧?而n个数的全排列有n!个吧?那至少要n!的时间吧?
恰恰你递归+for的次数也是n!次.所以最多也只是在时间上乘以2而已.何况存储用的时间远高于运算用的时间.输出就更费时了.
你生成了全排列总得输出(存储)吧?这至少要1个单位时间吧?而n个数的全排列有n!个吧?那至少要n!的时间吧?
恰恰你递归+for的次数也是n!次.所以最多也只是在时间上乘以2而已.何况存储用的时间远高于运算用的时间.输出就更费时了.
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
最新试题
热门考点
- 1溪的两边种着几棵垂柳.扩句
- 2开盘鉴定中施工配合比如何算 用实测砂的含水率计算 水 砂用量
- 3求名人学成归国建设祖国的例子
- 4有哪些事例能证明地球是圆的?
- 5已Xⁿ=5,yⁿ=3,求(x²y³)ⁿ的值.
- 6完成下面的证明推理过程,并在括号里填上根据 已知 de平行cf
- 7She wants to tell people.否定句
- 8what are your best w___ to your parents in the New Year
- 9When you go to Rome,you must do as Romans do.可译为谚语---------
- 10是否存在一个多边形,它的每个外角都等于相邻内角的1/5?简述你的理由.