Seguindo nossos estudos vamos agora para o Selection Sort, um algoritmo simples que é um pouquinho diferente que o último citado o Bubble sort 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 sempre o menor valor do vetor para a primeira posição (ou o maior dependendo 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 comentários ou críticas.
Referências
Entendo algoritmos - Aditya Y. Bhargava
Top comments (0)