MATLAB中排序函数(Sort)为什么在数据量巨大时运算时间依然很短?

MATLAB中排序函数(Sort)为什么在数据量巨大时运算时间依然很短?

目前版本的 MATLAB 的 sort 不是用 MATLAB 语言实现的,具体的算法可以看这篇文章介绍:

不过你这里写的快排能比内置的 sort 慢 200 倍,应该在实现方面也有改进的余地,但看不到你的代码也没法具体讨论

---------------------------

看到你更新了代码,测试了一下:

将前两行:

改为一行:

重新测试:

后面算法的具体过程也有一些改进余地,不过应该没有上述改动明显。

不过这种影响应该在 2015b 及之后的版本中才会体现。

对于老版本,由于手头没有,所以在

试了下

中的 qsort 代码,对比你的代码大概快 4 倍左右,当然这个代码在新版本也会比上边修改过前两行的代码要快一些