我是图形和树木概念的新手。下面是树的遍历树遍历。
var random = new Random();
var sequenceY = Enumerable.Range(1, 20)
.Select(x => random.Next(1, 30))
.Where(x => x % 2 == 0)
.ToArray();
我无法理解流程,因为它涉及递归。有人可以解释一下控制流是如何发生堆栈的。
答案 0 :(得分:2)
假设我有一棵树,就像这样:
4
/ \
2 5
/ \
1 3
您的代码将首先通过左边的孩子进行递送4 - > 2 - > 1.由于1没有左子(它为空),它将打印1然后弹出堆栈。递归的下一个是2.它将打印2然后遍历2的右子3,它将打印3,然后弹出堆栈。然后它将打印4,然后是4的右子5.打印序列将是1,2,3,4,5。Here也是一个很好的动画。
答案 1 :(得分:2)
答案 2 :(得分:1)