很难算出这个的递归式
本文关键字:递归 很难 | 更新日期: 2023-09-27 18:07:24
var seller = new User(1);
for (var i = 0; i < 3; ++i)
seller.Children.Add(new User(1));
foreach (var child in seller.Children)
{
for (var i = 0; i < 3; ++i)
child.Children.Add(new User(1));
foreach (var child2 in child.Children)
{
for (var i = 0; i < 3; ++i)
child2.Children.Add(new User(1));
foreach (var child3 in child2.Children)
for (var i = 0; i < 3; ++i)
child3.Children.Add(new User(1));
}
}
我正在尝试创建一个对象树,其中每个关卡有3个对象。我知道有一种方法可以使它成为递归函数
private static void AddChildren(User user, int maxDepth)
{
if (maxDepth == 0)
return;
for (var i = 0; i < 3; ++i)
{
var child = new User(1);
AddChildren(child, maxDepth - 1);
user.Children.Add(child);
}
}
初始调用应该是
AddChildren(new User(1), 3); //where 3 is max depth of tree.
每个关卡有三个对象是什么意思?(是不是每个节点都有三个子节点?)你什么时候停下来?E树的高度是多少?)