Рубрики
Без рубрики

Алгоритм Сортировки Выборки На языке Java

Сортировка по выбору – это алгоритм сортировки, в частности сортировка по сравнению на месте… Помеченные как алгоритмы сортировки, алгоритмы, java, selectionsort.

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

Классификация алгоритмов

Следующая таблица содержит информацию об анализе алгоритма сортировки выборки. Он определяет наихудший, средний и наилучший случаи с точки зрения временной сложности, а также наихудший случай с точки зрения пространственной сложности.

Алгоритм Сортировки Класс
Массив Структура данных
Ω (n2) Временная сложность: Лучший
I (n2) Временная сложность: Средняя
O(n2) Временная сложность: Наихудший
O(1) Сложность пространства: Наихудший

Пожалуйста, используйте следующую ссылку для объяснения обозначения Big-O и того, что такое хорошо, справедливо и плохо.

Сортировка выбора На языке Java

public final class SelectionSort {

    public void sort(int[] collection) {
        if (collection != null) {
            selectionSort(collection);
        } else {
            throw new IllegalArgumentException("Input paramenter for array to sort is null.");
        }
    }

    private void selectionSort(int[] collection) {
        int arrayLength = collection.length;

        for (int unsortIndex = arrayLength - 1; unsortIndex > 0; unsortIndex--) {
            int largest = 0;
            for (int i = 1; i <= unsortIndex; i++) {
                if (collection[i] > collection[largest]) {
                    largest = i;
                }
            }
            swap(collection, largest, unsortIndex);
        }
    } 

    private void swap(int[] collection, int x, int y) {
        int temp = collection[x];
        collection[x] = collection[y];
        collection[y] = temp;
    }   
}

Пример кода (GitHub)

Подробную информацию о классе сортировки выбора можно просмотреть здесь . Подробную информацию о тестовом классе JUnit Selection Sort можно просмотреть здесь .

Вывод

Алгоритм сортировки по выбору является частью более крупной группы алгоритмов сортировки. Обучение на основе опыта – вот причина, по которой я создал этот пост о реализации алгоритма сортировки выбора в Java. Я многое узнал о том, как другие решали алгоритм сортировки выборки на других языках, включая различные реализации в Java.

Сообщение Алгоритм сортировки выборки В Java появилось впервые на Code 2 Bits .

Оригинал: “https://dev.to/code2bits/selection-sort-algorithm-in-java-331a”