Вставок реализации в Java

Размещение рода является простой алгоритм сортировки, сравнение рода, в котором отсортированного массива (или список) построена одна запись одновременно. Это гораздо менее эффективны на больших списков, чем более продвинутые алгоритмы, такие как быстрая сортировка, пирамидальная или слияния рода, но оно имеет ряд преимуществ:

  • Simple to implement
  • Efficient on (quite) small data sets
  • Efficient on data sets which are already substantially sorted
  • More efficient in practice than most other simple O(n2) algorithms such as selection sort or bubble sort: the average time is n2/4 and it is linear in the best case
  • Stable (does not change the relative order of elements with equal keys)
  • In-place (only requires a constant amount O(1) of extra memory space)
  • It is an online algorithm, in that it can sort a list as it receives it.

В абстрактных понятиях, каждая итерация вставок удаляет элемент из входных данных, вставив его в правильное положение в уже отсортированный список, пока нет элементов остается на входе. Выбор элемента, на котором необходимо удалить из входе произвольный и могут быть сделаны используя почти любой алгоритм выбора.

Следующий метод показывает, как реализовать вставок с Java:


    /**

     * Simple insertion sort.

     @param a an array of Comparable items.

     */

    public static void insertionSortComparable [ ] )

    {

        forint p = 1; p < a.length; p++ )

        {

            Comparable tmp = a];

            int j = p;



            for; j > && tmp.compareToaj - ] ) 0; j-- )

                a= aj - ];

            a= tmp;

        }

    }

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>