这是我们必须比较不同排序算法的任务的一部分。为了获得无偏见的测试,我应用了一些基本的统计概念。我没有运行单个测试,而是执行了不同数组大小的测试样本。样本大小是常数,100,每轮的元素数量各不相同:分别为一千,一万,十万,一百万和一千万个元素,随机填充数组。
由于插入排序的限制,它在十万个元素之后未经过测试。还记录了每个算法执行的比较和数组访问次数。
在报告结束时,shell排序优于堆排序。原因我不清楚。可能与数组的填充方式有关(随机数)?
这是两种算法使用的代码:
erreur(arguments_invalide, argv);