在不创建多个副本的情况下,可以在递归函数中执行命中和尝试矩阵吗?

Can a hit and trial matrix take place in a recursive function without creating multiple copies?

本文关键字:执行 创建 副本 情况下 递归函数      更新时间:2023-10-16

我有一个矩阵,需要通过hit和trial方法进行更改,评估,如果不符合要求,则需要重新分配值。我在链式假设的递归函数中做这个。这可以在不创建多个副本的情况下完成吗?

我可以在回溯时恢复矩阵吗?

你问:"我可以在回溯时恢复矩阵吗?"我问同样的问题——你能吗?如果修改很容易撤销,那么当然可以。

void f()
{
    foreach (possibilty)
        modify ();
        f();
        unmodify();  
}

如果unmodify不是微不足道的,那么您最好使用

void f(matrix m)
{
   foreach (possibilty)
        matrix tmp = m;
        modify (tmp);
        f(tmp);
}