선택 순서 - 선택 정렬

Seguindo nossos estudos vamos agora para o Selection Sort, um algoritmo simples que é um pouquinho diferente que o último citado o seguindo a notação Big O a complexidade é O(n²)
não é um algoritmo rápido mas como nosso objetivo é estudo ele nos serve bem :D

Como ele funciona?



A ordenação por seleção é um algoritmo de ordenação baseado em se passar semper o menor valor do vetor para a primeira posição (ou o maior dependsendo da ordem requerida), depois o de segundo menor valor para a segunda posição, e assim é feito sucessivamente.


Na imagem acima é exemplificado!

Ou seja ele é beeem parecido com o bubble sort que joga o maior valor para o final do vetor, em velocidade nós não ganhamos muito ¯_ (ツ)_/¯

Mas vamos para o código

let arr = [17, 14, 23, 2, 4, 9, 15, 1, 0, 3, 5]

for(let i = 0; i < arr.length; i++){
    let min = i
    let aux 
    for(let j = i + 1; j <= arr.length; j++){
        if(arr[j] < arr[min]){
            min = j
        }
    }
    if (i != min) {
        aux = arr[i]
        arr[i] = arr[min]
        arr[min] = aux
    }

}
console.log(arr)


Como dito o código não é muito diferente, ainda temos um loop aninhado que resolve um valor por vez como é visto na imagem.
Muito obrigado por ler até aqui, fiquem a vontade em me enviar dúvidas commentários ou críticas.

참조



Entendo algoritmos - Aditya Y. 바르가바

Wikpédia selection sort

좋은 웹페이지 즐겨찾기