Рубрики

Java-программа для сортировки бинарных вставок

Мы можем использовать бинарный поиск, чтобы уменьшить количество сравнений в обычной сортировке вставкой . Бинарная сортировка вставки find использует бинарный поиск, чтобы найти правильное местоположение для вставки выбранного элемента на каждой итерации.
При обычной вставке сортировка занимает O (i) (на i-й итерации) в худшем случае. мы можем уменьшить его до O (logi), используя бинарный поиск .

Джава

// Реализация Java-программы
// двоичная вставка

  

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<arr.length; i++)

            System.out.print(arr[i]+" ");

    }

  

    public void sort(int array[])

    {

        for (int i = 1; i < array.length; i++)

        {

            int x = array[i];

  

            // Найти место для вставки с помощью бинарного поиска

            int j = Math.abs(Arrays.binarySearch(array, 0, i, x) + 1);

  

            // Смещение массива в одну позицию вправо

            System.arraycopy(array, j, array, j+1, i-j);

  

            // Размещение элемента в правильном месте

            array[j] = x;

        }

    }

}

  
// Код предоставлен Mohit Gupta_OMG

Пожалуйста, обратитесь к полной статье о бинарной сортировке для более подробной информации!

Рекомендуемые посты:

Java-программа для сортировки бинарных вставок

0.00 (0%) 0 votes