Como comparar algoritmos select sort

Vamos ao Selection Sort

Resumo do resumo: sua ideia consiste em ordenar a lista “selecionando” a cada iteração o menores itens possíveis e os colocam da esquerda para a direita.

Como comparar algoritmos select sort

Como comparar algoritmos select sort
  • A lista principal contém os elementos sequencialmente: 5, 3, 1, 2, 4;
  • A lista principal foi subdividida logicamente em duas sublistas: a lista ordenada (que inicialmente está vazia) e a lista desordenada (que inicialmente contém todos os elementos da lista principal);
  • O processo de seleção rodou uma vez. Com isso, se obteve o menor item da lista desordenada (que tinha os números 5, 3, 1, 2, 4: logo, o menor número dentro deste conjunto é o número 1).
  • Colocamos o número 1 (menor item da lista) na lista ordenada ( que na verdade é o índice da primeira posição da lista principal) e remove este número da lista desordenada (não se preocupe, pois maiores detalhes serão explicados sobre essa parte. Mas o que ocorre no algoritmo é que os itens são trocados dentro da lista principal: assim o certo a se dizer é que o elemento que estava no índice da lista que está se iterando no primeiro loop pela posição do elemento que possui menor valor);
Como comparar algoritmos select sort
O menor item encontrado é o número 2. Coloque na “sublista ordenada”
Como comparar algoritmos select sort
O menor item encontrado é o número 3. Coloque na “sublista ordenada”
Como comparar algoritmos select sort
O menor item encontrado é o número 4. Coloque na “sublista ordenada”
Como comparar algoritmos select sort

Desempenho

Agora, vamos entender o desempenho do selection sort. Sabe-se que o processo de seleção precisa varrer sempre a “lista desordenada” para comparar os itens. Essa lista, como pôde ser observado na explicação acima, vai decrementando em um conforme as iterações.

Exemplo código selection sort usando Python