Hyp*_*nos 1 sorting performance matlab function
我正在使用Matlab的内置排序功能:
[temp, Idx] = sort(M,2);
Run Code Online (Sandbox Code Playgroud)
我想得到M的每一行的排序索引,这是一个大小> 50k的矩阵.
我努力搜索但没有找到任何东西..如果您有任何意见,将不胜感激!
为了了解你有多少改进空间,我建议用C语言编写一个测试程序并使用qsort或C++进行用户排序,并仔细计时7000个大小为7000的输入(或者你在Matlab中的任何设置) .
我将给你我的估计:可能Matlab的排序运行(在正确的矢量化代码上,像你的那样)和C++一样快,你只是看到运行一个算法的效果,需要O(n ^ 2 log n) .据Matlab的营销材料报道,它的排序功能比C的qsort更快,但是它带有一点点盐.