我们可以使用二进制搜索来减少普通插入排序中的比较次数。二进制插入排序查找使用二进制搜索来找到适当的位置,以便在每次迭代时插入所选项目。
在普通插入中,排序在最坏的情况下需要O(i)(在第i次迭代中)。我们可以使用二进制搜索将其简化为O(logi)。
Java
// Java Program implementing
// binary insertion sort
import java.util.Arrays;
class GFG
{
public static void main(String[] args)
{
final int[] arr = {37, 23, 0, 17, 12, 72, 31,
46, 100, 88, 54 };
new GFG().sort(arr);
for(int i=0; i