C# 创建宽度优先树C

C# 创建宽度优先树C,c#,algorithm,C#,Algorithm,有人能告诉我创建广度优先树的源代码或伪代码吗 我需要的是一棵这样的树 S-表示节点启动的步骤 C-表示节点可以有多少子节点 例如,我提出了类似这样的想法 root = new TreeNode(object) fun(root); fun(TreeNode node){ if(node.c==0){ return; } for(child in childs){ node.AddChild(child) } fun(node.nextchild()) //takes from

有人能告诉我创建广度优先树的源代码或伪代码吗

我需要的是一棵这样的树

S-表示节点启动的步骤 C-表示节点可以有多少子节点

例如,我提出了类似这样的想法

root = new TreeNode(object)
fun(root);

fun(TreeNode node){
 if(node.c==0){
  return;
 }
 for(child in childs){
  node.AddChild(child)
 }
 fun(node.nextchild()) //takes from zero to C
}

我知道遍历图和树有广度优先搜索,但我需要以同样的方式创建一个,但没有发现任何有用的东西。

您的输入看起来如何?您是否在寻找平衡树?“呼吸优先”是一个在树上行走时使用的术语。在.Net集合中,SortedSet实现了一个平衡树。@JuanLopes输入是随机挑选的unitys游戏对象。我正在生成一个随机的游戏室,每个房间都可以从其他房间到达。@科赫博士树不需要平衡。孩子们是随机挑选的。