哪种排序算法最适合对几乎完全排序的列表进行重新排序?

Dan*_*ski 9 sorting algorithm

我有一个字符串列表,已按特定的比较函数排序.

现在我必须使用不同的比较函数重新排序此列表.

这种新的比较函数在比较某些特殊字符(例如变形金刚)时表现略有不同.在大多数情况下,元件必须仅移动一个或两个槽以到达正确的位置.

哪种排序算法最适合根据运行时执行速度对这个几乎完全排序的列表进行重新排序?

Mit*_*eat 14

插入排序适用于小型或近乎排序的列表.

从这篇ACM论文:

对列表长度和小排序比率的各种组合的随机生成列表的测试表明,Straight Insertion Sort最适合小型或非常接近排序的列表,而Quickersort最好.

来自wiki文章插入排序:

如果输入数组已经排序,则插入排序只执行n-1次比较,从而在给定排序或"近似排序"的数组时使插入排序更有效.

问题:是否有充分的理由使用插入排序?