Алгоритм сортування за вибором сортує масив шляхом повторного знаходження мінімального елемента (враховуючи зростання) з невідсортованої частини та розміщення його на початку. Алгоритм підтримує два підмасиви в заданому масиві.
Програма Python для сортування вибору
Наданий код Python демонструє алгоритм сортування вибору. Сортування вибору має часову складність O(n^2). У кожній ітерації код знаходить мінімальний індекс елемента в несортованій частині масиву та міняє його місцями з поточним елементом індексу. Це поступово сортує масив зліва направо. Цей приклад ініціалізує масив, застосовує функцію selectionSort для його сортування, а потім друкує відсортований масив у порядку зростання. Відсортований масив отримується повторним знаходженням найменшого елемента в невідсортованій частині та розміщенням його в правильному положенні, що призводить до впорядкованого масиву: [-202, -97, -9, -2, 0, 11, 45, 88, 747].
Python3
перетворення рядка java в ціле
# Selection sort in Python> # time complexity O(n*n)> #sorting by finding min_index> def> selectionSort(array, size):> > >for> ind>in> range>(size):> >min_index>=> ind> >for> j>in> range>(ind>+> 1>, size):> ># select the minimum element in every iteration> >if> array[j] min_index = j # swapping the elements to sort the array (array[ind], array[min_index]) = (array[min_index], array[ind]) arr = [-2, 45, 0, 11, -9,88,-97,-202,747] size = len(arr) selectionSort(arr, size) print('The array after sorting in Ascending Order by selection sort is:') print(arr)> |
>
>Вихід
The array after sorting in Ascending Order by selection sort is: [-202, -97, -9, -2, 0, 11, 45, 88, 747]>
Часова складність : O(n2).
вузол списку в java
Допоміжний простір : O(1).
Перегляньте повну статтю Сортування вибору для більш детальної інформації!