替换嵌套循环的设计模式

发布于 2024-10-08 22:01:27 字数 217 浏览 1 评论 0原文

是否有任何设计模式或其他方式来替换大量的嵌套循环? 唯一的目的是提高性能。

例如

for (int i=0; i<2000; i++)
{
    for (int j=0; j<2000; j++)
    {
       for (int k=0; k<2000; k++)
       {

       }
    }
}

Is there any design pattern or some other way to replace the huge number of nested loops?
The only purpose is performance enhancement.

e.g

for (int i=0; i<2000; i++)
{
    for (int j=0; j<2000; j++)
    {
       for (int k=0; k<2000; k++)
       {

       }
    }
}

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

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

发布评论

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

评论(2

﹏雨一样淡蓝的深情 2024-10-15 22:01:27

一般来说没有。设计模式更多的是关于如何组织代码以使其易于理解、可维护、可扩展等。凭借这一点,您可能最终会得到更高效的代码,但不一定。

如果您的算法要求您访问大小为 2000 的 3 维数据结构中的每个元素,那么没有任何设计模式可以提供帮助,您只有一个 ^3 算法,对此您无能为力。

唯一的改进空间是,如果您的算法被证明是幼稚的,并且可能访问的元素比严格要求的要多。上面的 harrisunderwork 通过询问您是否正在搜索来暗示这一点;如果是这样,也许搜索算法可以变得更有效,但同样,这不是关于设计模式的问题。

In general no. A design pattern is more about how you organise your code to make it comprehensible, maintainable extensible etc. By virtue of this, you might end up with more efficient code but not necessarily.

If your algorithm requires that you visit every element in a 3 dimensional data structure of size 2000, then no design pattern can help, you just have a n^3 algorithm and there's nothing you can do about this.

The only scope for improvement will be if your algorithm turns out to be naive and maybe visits more elements than is strictly required. harrisunderwork above alludes to this by asking if you are searching; if so, maybe there search algorithm can be made more efficient but again, this is not a question regarding design patterns.

无所的.畏惧 2024-10-15 22:01:27
for (int x=0; x < 2000*2000*2000; x++)
{
    // you can calculate here real values of i,j,k if you need this for smth
    // do something
}
for (int x=0; x < 2000*2000*2000; x++)
{
    // you can calculate here real values of i,j,k if you need this for smth
    // do something
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文