![]() |
1
2
使用线程将使您的应用程序加速一些小的常数因子,代价是线程间通信的复杂性显著增加。如果有一个更好的算法存在,那可以节省你的数量级。因此,我强烈建议您首先验证确实没有次二次算法来解决您的问题。 如果您详细说明您正在尝试解决的问题和您当前的解决方案,我们可以在此提供帮助。
对于每一辆重要的汽车,实在没有必要反复研究所有的汽车,只是为了找到那些拥有相同制造商的汽车。。。 |
![]() |
2
2
你看了一本书吗 Dynamic Programming 接近?它适用于你的问题吗?从本质上讲,递归意味着您要一遍又一遍地解决同一个问题,但输入值要稍微小一些。当运行同一递归算法的多次迭代时,一个程序往往会重新解决同一个精确的问题。相反,动态编程方法可能将解决方案存储在缓存中,并在第二次计算解决方案之前引用缓存。 如果不知道你的确切问题,就很难给出确切的答案。 |
![]() |
3
2
这取决于是什么让你的循环变慢。他们正在执行数据库查询吗?访问硬盘?否则会导致它们等待外部I/O操作吗?在这种情况下,最好的办法是开始添加线程,直到你不再看到它们的回报,你基本上必须调整它。
|
![]() |
4
1
这不是一个很好的解决方案,并且随着当前解决方案时间的增长,这将以1/2的速度增长,如果处于双嵌套循环中,这仍然是相当昂贵的。O(X^2/2)仍然相当于O(X^2)。
|
![]() |
6
-1
|
![]() |
7
-2
我不认为并发可以让你的应用程序更快。它可以帮助您在应用程序中运行多个任务,但不会使它们更快。 我的经历: 尝试摆脱递归调用,这是使应用程序更快的最好方法。 |
![]() |
Rhys · 通过列表理解修改列表中的列表 7 年前 |
|
vikiridi · 嵌套循环,第二个循环基于第一个循环的长度 7 年前 |
![]() |
Sansk · 避免Python中的嵌套for循环 7 年前 |
![]() |
MidnightP · C#UWP填充和访问嵌套列表 7 年前 |
![]() |
CQM · 排序两个关联数组/堆栈 7 年前 |