复杂度为 O(n^2) 的插入排序,并对先前的值使用二分查找来提高复杂度

Insertion Sort of O(n^2) complexity and using Binary Search on previous values to improve complexity

如果您将算法更改为使用二进制搜索而不是搜索以前的值,直到找到插入当前值的位置,算法(O(n^2) 的插入排序)的复杂性将如何变化。另外,这什么时候有用?

您的新复杂度仍然是二次方,因为您需要将所有已排序的部分向右移动。因此,使用二进制搜索只是稍微好一点。

对于大型数组,我会推荐一种快速排序算法(在 O(n log n) 时间内),二次插入排序算法仅适用于小型数组。