标签: multithreading algorithm parallel-processing priority-queue mathematical-optimization
在1/0背包问题中,可以用两个for循环动态实现它,比如 在此网站上:http://www.bogotobogo.com/Algorithms/knapsack.php
如何使用优先级队列实现它并使用多线程进行优化?
答案 0 :(得分:0)
在“0-1背包 - 动态编程”部分的算法中,内部循环可以并行化。可以并行执行不同jw值的循环体的执行,因为m[i][jw]的值的计算不需要值m[i][jw'],其中jw'!=jw,即任何值{{1}}迭代不依赖于先前的迭代。
jw
m[i][jw]
m[i][jw']
jw'!=jw