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递归性能的对比的主要内容,如果未能解决你的问题,请参考以下文章

计算斐波那契数列的性能对比:Python,Java,Go

开发语言性能对比,C++JavaPythonLUATCC

2017年的golangpythonphpc++cjavaNodejs性能对比[续]

Python中的函数递归思想,以及对比迭代和递归解决Fibonacci数列

2017年的golangpythonphpc++cjavaNodejs性能对比(golang python php c++ java Nodejs Performance)

C语言—递归详解