[Estructura de datos y algoritmo] Selección de selección

Tipo de selección:
complejidad temporal: O (n ^ 2)
complejidad espacial: O (1)

Prueba de rendimiento: en
comparación con la clasificación de burbujas:

Ordenar por 10k números aleatorios:

选择排序        :       0.109496 s
冒泡排序优化版  :       0.432141 s

10k números casi ordenados ordenar:

选择排序        :       0.112428 s
冒泡排序优化版  :       0.018859 s

Idea básica:
seleccione el más pequeño del intervalo a ordenar y colóquelo después del intervalo ya ordenado.

void selectSort(int arr[], int n) {
    for (int i = 0; i < n; ++i) {

        int min_index = i;
        for (int j = i + 1; j < n; ++j) {
            if (arr[j] < arr[min_index]) {
                min_index = j;
            }
        }

        swap(arr[i], arr[min_index]);
    }
}

EOF

Se han publicado 98 artículos originales · 91 alabanzas · Más de 40,000 visitas

Supongo que te gusta

Origin blog.csdn.net/Hanoi_ahoj/article/details/105473481
Recomendado
Clasificación