我是python的新手,正在建立一个分拣机"只是为了好玩而且#34;。我很好奇并决定计时并将它与list.sort()进行比较。对于10,000个数字的随机列表,我的程序需要50-70秒。 list.sort()需要0.015秒。搜索仅显示list.sort()vs sorted的结果list.sort()的效率如何更高效? 这是该计划:
interface Castle
{
public void sad();
public void cool();
}
答案 0 :(得分:2)
list.sort
在C中实现,预计只会因为在Python中重写相同算法而减慢1-2个数量级。
list.insert
是O(n),它位于列表元素的两次嵌套循环中;所以你的算法在平均情况下看起来像O(n ^ 3),而任何自尊排序算法都是O(n log n)。
即使在O(n log n)算法领域,Python的一个(Timsort)也有显着的加速技巧,可以加快对真实世界数据集的排序(并避免一些退化) "天真"快速排序)。