Estrutura de dados e classificação de seleção de algoritmos

A classificação por seleção é um algoritmo de classificação simples. Este algoritmo de classificação é um algoritmo baseado em comparação no local no qual a lista é dividida em duas partes, a parte classificada na extremidade esquerda e a parte não classificada na extremidade direita. Inicialmente, a parte classificada está vazia e a parte não classificada é a lista inteira.

O menor elemento é selecionado da matriz não classificada e trocado pelo elemento mais à esquerda, e esse elemento torna-se parte da matriz classificada. Este processo continua movendo o limite da matriz não classificada por um elemento à direita.

Este algoritmo não é adequado para grandes conjuntos de dados, pois sua complexidade média e de pior caso são de Ο (n 2 ), onden é o número de itens.

Como funciona a classificação por seleção?

Considere a seguinte matriz representada como exemplo.

Para a primeira posição na lista classificada, toda a lista é verificada sequencialmente. A primeira posição onde 14 está armazenado atualmente, pesquisamos em toda a lista e descobrimos que 10 é o valor mais baixo.

Portanto, substituímos 14 por 10. Após uma iteração 10, que por acaso é o valor mínimo da lista, aparece na primeira posição da lista classificada.

Para a segunda posição, onde 33 está residindo, começamos a examinar o resto da lista de maneira linear.

Descobrimos que 14 é o segundo valor mais baixo da lista e deve aparecer em segundo lugar. Trocamos esses valores.

Após duas iterações, dois valores mínimos são posicionados no início de maneira classificada.

O mesmo processo é aplicado ao restante dos itens da matriz.

A seguir está uma representação pictórica de todo o processo de classificação -

Agora, vamos aprender alguns aspectos da programação da classificação por seleção.

Algoritmo

Step 1 − Set MIN to location 0
Step 2 − Search the minimum element in the list
Step 3 − Swap with value at location MIN
Step 4 − Increment MIN to point to next element
Step 5 − Repeat until list is sorted

Pseudo-código

procedure selection sort 
   list  : array of items
   n     : size of list

   for i = 1 to n - 1
   /* set current element as minimum*/
      min = i    
  
      /* check the element to be minimum */

      for j = i+1 to n 
         if list[j] < list[min] then
            min = j;
         end if
      end for

      /* swap the minimum element with the current element*/
      if indexMin != i  then
         swap list[min] and list[i]
      end if
   end for
	
end procedure

Para saber sobre a implementação de classificação de seleção na linguagem de programação C, clique aqui .