首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

递归与迭代,该怎么处理

2013-10-02 
递归与迭代请教递归与迭代可以相互转换,是在哪本算法书中讲的?(书名和作者)最近想深入了解这方面的问题,请

递归与迭代
请教递归与迭代可以相互转换,是在哪本算法书中讲的?(书名和作者)最近想深入了解这方面的问题,请大家帮忙!谢谢!!
[解决办法]
多数书都讲吧


[解决办法]
理论上,所有递归都可以改造成非递归算法(就是你说的迭代)
就是利用一个堆栈数据结构存储参数,这些参数原本是各层递归的输入参数
如果是尾递归,则不需要堆栈
[解决办法]
计算机算法基础(第三版),华中科技大学出版社  有相应章节的
[解决办法]

int max(int a[], int n)
{
    int x = a[0], i;

    for (i = 1; i < n; ++i) {
        if (x < a[i])
            x = a[i];
    }
    return x;
}

int max(int a[], int n)
{
    int x;

    if (1 == n)
        return a[0];

    x = max(a, n - 1);
    return x > a[n - 1] ? x : a[n - 1];
}

热点排行