python和c递归性能的对比
Posted 标题
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python和c递归性能的对比相关的知识,希望对你有一定的参考价值。
性能上c真的快了很多
# 好比算这个汉诺塔游戏 # 假设有三根柱子,a,b,c, # a柱子上有n个饼,上面的饼比下面的饼小, # 现在要将饼全部原状挪到另外一个柱子上,要求不能把大饼放在小饼上,请问要挪动多少次。 #include<iostream> using namespace std; int fun_pull_hnt(int n){ int i = 0; int times = 0; while (i<n){ if (n==0){ times=n; break; }else if(n>0){ int t=times*2+1; times = t; i++; }else{ times=0; break; } } return times; } int fun_hnt(int n){ if (n==1){ return 1; }else{ return fun_hnt(n-1)+1+fun_hnt(n-1) ; } } int main(){ int n; while(true){ cout<<"问你有几块饼?" <<endl; cin>>n; if(n>0){cout<<fun_hnt(n)<<endl;} else{ cout<<"请输入正确的数字"<<endl; } } }
用c算30个饼的情况,用递归的方法,不到3秒就ok了。
python就难了,既然要110秒。
以上是关于python和c递归性能的对比的主要内容,如果未能解决你的问题,请参考以下文章
2017年的golangpythonphpc++cjavaNodejs性能对比[续]
Python中的函数递归思想,以及对比迭代和递归解决Fibonacci数列
2017年的golangpythonphpc++cjavaNodejs性能对比(golang python php c++ java Nodejs Performance)