命中和试验矩阵是否可以在递归函数中进行而不创建多个副本?

发布于 2024-12-02 15:46:46 字数 111 浏览 2 评论 0原文

我有一个矩阵,需要通过命中和试验方法进行更改,进行评估,如果不满足要求,则需要重新分配值。我在链式假设的递归函数中执行此操作。可以在不创建多个副本的情况下完成此操作吗?

回溯时可以恢复矩阵吗?

I have a matrix which needs to be changed by hit and trial method, evaluated and the values need to be re-assigned if it does not meet the requirements. I am doing this in a recursive function for chained assumption. Can this be done without creating multiple copies?

Can I restore the matrix while backtracking?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我最亲爱的 2024-12-09 15:46:46

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

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

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

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

You ask: "Can I restore the matrix while backtracking?" I ask the same question - can you? If the modifications are easily reversible, then sure you can.

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

If unmodify is not trivial, then you'd be better off with

void f(matrix m)
{
   foreach (possibilty)
        matrix tmp = m;
        modify (tmp);
        f(tmp);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文