СВЕТ: СПАСИБО
01-12-2023
Читать статью
Калужский Александр: Задача про Цаплю: https://www.youtube.co..
24-11-2023
Сергей: спасибо большое
Привет! Сегодня рассмотрим cортировку методом простого выбора (простого перебора).
Рассмотрим алгоритм данного метода для сортировки целочисленного массива: 7, 0, -4, 3, 1, -2, 5 .
Повторяем данные действия [длина массива - 1] раз.
Напишем данный алгоритм на языке C#:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp22 { class Program { // Сортировка простого выбора static void Main(string[] args) { int[] a = { 7, 0, -4, 3, 1, -2, 5 }; int i, j, min, temp; for(i=0; i < a.Length - 1; i++) { min = i; //устанавливаем начальное значение минимального индекса //находим минимальный индекс элемента for (j = i + 1; j < a.Length; j++) { if (a[j] < a[min]) min = j; } //меняем значения местами temp = a[i]; a[i] = a[min]; a[min] = temp; } // Распечатываем массив. Console.WriteLine("Сортировка простого выбора"); for(i=0; i < a.Length; i++) { Console.WriteLine(a[i]); } Console.ReadKey(); } } }
Время работы алгоритма пропорционально квадрату длины массива. В среднем, сортировка простым выбором быстрее, чем сортировка пузырьком и шейкер-сортировка.
Проведя личный эксперимент, массив случайных чисел из 10000 элементов метод пузырька отсортировал за 2151 мс.
Тот же самый массив метод шейкер-сортировки отсортировал за 1381 мс.
Сортировка простым выбором является самым эффективным из всех выше перечисленных методов. Тот же самый массив был отсортирован за 879 мс.