Realmente algum tipo de algoritmo de classificação - classificação rápida

O simples e bruto modo de classificar as bolhas e a seleção pode não ser chamado de algoritmo aos olhos de algumas pessoas.Agora precisamos inserir um algoritmo de classificação mais elegante, a classificação rápida. Ele usa a estratégia de dividir e conquistar (Divide and Conquer, D & G) para ser aplicada a chamadas recursivas. O tipo rápido ousa dizer que ele é rápido, e é realmente muito mais rápido que o tipo escolhido. Classificação por bolhas e seleção, especialmente a seleção por seleção é um algoritmo de classificação muito natural, e a classificação rápida não é algo que as pessoas comuns inventarão à vontade.

A dedução da classificação rápida precisa usar a recursão para pensar no problema dos loops.No entanto, sempre tentei usar loops para evitar chamadas recursivas.O interessante é que linguagens funcionalmente compiladas como Haskell não possuem loops. Efeito. Vejamos um exemplo simples: por exemplo, para aumentar de 1 para 100, naturalmente usaremos um loop para acumular de 1 para 100. Se for substituído por recursão, consulte o código a seguir

1
2
3
4
5
6
7
8
resumo da definição (arr):
     se len (arr) == 0:
         retornar 0
     outro :
         retornar arr [0] + resumo (arr [1:])
 
 
print (resumo (itens = lista (intervalo (1, 101)))) # 5050

A recursão nos ajuda a decompor grandes problemas em pequenos problemas.O pensamento do código acima é que a soma da matriz é sempre um único elemento mais a soma das listas de elementos restantes até a lista final de elementos estar vazia (e a soma é 0).

Acho que você gosta

Origin www.cnblogs.com/wgq1233/p/12735578.html
Recomendado
Clasificación