Recursion 如何在C#中编写简单的极大极小算法?

Recursion 如何在C#中编写简单的极大极小算法?,recursion,foreach,tree,iteration,minimax,Recursion,Foreach,Tree,Iteration,Minimax,我想建立一个简单的树,比较子调用和递归调用,就像一个mini-max算法。比较每个节点的值并返回root的子节点 我已经试了一整天了,但我还不能正确地编写代码。如果你有mini-max算法的经验,请帮助我,或者如果你有任何来源可以了解它,请告诉我 是否有人可以基于此节点生成3个或更多深度(迭代)的示例代码 class node { public int value; public int id; public List <node> child = new

我想建立一个简单的树,比较子调用和递归调用,就像一个mini-max算法。比较每个节点的值并返回root的子节点

我已经试了一整天了,但我还不能正确地编写代码。如果你有mini-max算法的经验,请帮助我,或者如果你有任何来源可以了解它,请告诉我

是否有人可以基于此节点生成3个或更多深度(迭代)的示例代码

class node
{

    public int value;
    public int id;
    public List <node> child = new List <node>();   
}
类节点
{
公共价值观;
公共int id;
公共列表子项=新列表();
}
试试这个: 使全局变量:

public node minNode;
public node maxNode;
创建函数:

public void Compare(node currentNode)
{
    if (minNode.value>currentNode.value)
    {
        minNode=currentNode;
    }
    if (maxNode.value<currentNode.value)
    {
        maxNode=currentNode;    
    }
    foreach(var currNode in currentNode.child)
    {
        Compare(currNode);
    }
}
然后,在这个变量中取max和min,其中rootNode是树中的根节点

minNode=rootNode;
maxNode=rootNode;
Compare(rootNode);