C# 给定一个分支列表,如何查找单独连接在一起的树列表列表
假设我有一个分支列表,如何找到一个单独连接在一起的树列表列表?下图应该说明我的观点。输入是单个树中的分支列表,如标签所示,即C# 给定一个分支列表,如何查找单独连接在一起的树列表列表,c#,graph,C#,Graph,假设我有一个分支列表,如何找到一个单独连接在一起的树列表列表?下图应该说明我的观点。输入是单个树中的分支列表,如标签所示,即1、2、3等 过程如下所示: 创建一个接受树节点作为参数的函数 如果节点没有子节点,则打印当前节点的值并返回 如果节点有两个子节点,则结束当前单节点值列表,然后递归到左节点,然后是右节点 如果节点有一个子节点,则将其添加到树中包含的值列表中,然后递归到该节点中 继续 根据图,有一个非常简单的解决方案。 让我们制作一个包含元素的列表,这些元素是相同类型的列表。程序将被称为树列
1
、2
、3
等
过程如下所示:
根据图,有一个非常简单的解决方案。 让我们制作一个包含元素的列表,这些元素是相同类型的列表。程序将被称为树列表(列表,树)。您需要做的只是:
树列表(列表[i],当前子树) 其中我是列表指针和 当前_子树是当前子树 =)
@如果一个节点有两个以上的子节点怎么办?@Ngu-但不应该?对不起,根据你的图片,我假设这是一棵二叉树?它不是二叉树;从树
5
,6
,7
,8
中可以看出,为一个有3个子树定义“右节点”。似乎我们这里不是在处理二叉树。@Ngu,@cHao-我们可以做的是遵循相同的过程,但是如果子树的数量是:>1
,则必须枚举子树。输入还是输出?这个问题听起来像你想要左边的列表……但是如果是输入,那么它就是你已经拥有的东西。@CHao,输入是一个树列表,1
,2
,3
,等等……k,输入对我来说没有多大意义。我是否应该假设所有的“树”都是连接的(因此是同一棵树的一部分)?如果是这样,为什么要将它们作为节点列表传递,而不是作为一棵树传递?@cHao,所有的树都是连接的,但我想将它们分组到单独连接的树中list@cHao-是的,这就是我看到的。我不把它看成是一张树的列表,而是一棵大树。