在这种情况下递归算法如何工作?什么类型的递归? [英] How recursive algorithm work in this case? And what type of recursion is ?

查看:162
本文介绍了在这种情况下递归算法如何工作?什么类型的递归?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

public void Recursion(int position)
        {
            itemLevel++;
            permutation.SetValue(itemLevel, position);
            if(itemLevel == numOfItems)
            {
                AddPermutation(permutation);
            }
            else
            {
                for(int currentPosition = 0; currentPosition < numOfItems;
                    currentPosition++)
                {
                    if(permutation[currentPosition] == 0)
                    {
                        Recursion(currentPosition);
                    }
                }
            }
            itemLevel--;
            permutation.SetValue(0, position);
        }

推荐答案

请看问题的评论。



请参阅:

http://en.wikipedia.org/wiki/Recursion [ ^ ],

http://en.wikipedia.org/wiki/Recursion_%28computer_science%29 [ ^ ],

http://en.wikipedia.org/wiki/Stack_%28abstract_data_type%29 [ ^ ](这递归中使用的是什么,但是很好也知道,

htt p://en.wikipedia.org/wiki/Call_stack [ ^ ](但就是这样)。



我认为这个解释足够深入: http://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Mips/stack.html [<一个href =http://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Mips/stack.html\"target =_ blanktitle =New Window> ^ ]。br祝你好运,

-SA
Please see the comments to the question.

Please see:
http://en.wikipedia.org/wiki/Recursion[^],
http://en.wikipedia.org/wiki/Recursion_%28computer_science%29[^],
http://en.wikipedia.org/wiki/Stack_%28abstract_data_type%29[^] (this is not what is used in recursion, but good to know, too),
http://en.wikipedia.org/wiki/Call_stack[^] (but that is it).

I think this explanation is deep enough: http://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Mips/stack.html[^].

Good luck,
—SA


这篇关于在这种情况下递归算法如何工作?什么类型的递归?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆