也许我有点不清楚:
我想做什么我尽可能快地对许多向量进行排序。 我有200个载体,200个双倍。
答案 0 :(得分:0)
由于您尚未发布代码,我假设您正在寻找更好的代码优化以节省内存和时间。尝试在循环中使用标记。
for(i=1;x;i++)
{
sort();
if(flag)
break;
}
“break”确保在对数据进行排序后不会迭代不必要的代码,该标志告诉编译器在迭代完成时退出循环语句。在嵌套循环中使用标志更为重要,因为空间复杂度超过O(n.square)并且它要求更高的效率。
这可以在大量迭代和内存空间上节省大量时间。尽可能尝试优化代码,从长远来看会产生很大的不同。
答案 1 :(得分:0)
使用Radix排序可以加快您的排序。
在Nvidia cuda / openCL SDK中有一个Radix排序算法的并行实现。