我已经成功地制定了一个直方图的实现,用于基于CUDA的环境。 我理解的是算法的工作复杂性。
我可以说串行实现的复杂性是线性的 - O(n)其中n =输入数量,这是基于我们必须至少循环所有输入一次的事实。
实施将:
将测量分组
将每组测量值传递给单独的线程
计算每个线程中的局部直方图
将它们缩减为全局直方图
我是否必须弄清楚每一步的复杂性并合并?
答案 0 :(得分:1)
您应该计算每个步骤的复杂程度并采取最大的步骤。在你的情况下,所有步骤都是线性的,因此整个算法的复杂性是线性的。