Realmente algún tipo de algoritmo de clasificación: clasificación rápida

Los simples y crudos de la selección de burbujas y selección no pueden llamarse un algoritmo a los ojos de algunas personas. Ahora tenemos que ingresar un algoritmo de clasificación más elegante, la clasificación rápida. Utiliza la estrategia de divide y vencerás (Divide y vencerás, D y G) que se aplicará a las llamadas recursivas. El tipo rápido se atreve a decir que es rápido, y de hecho es mucho más rápido que el tipo elegido. El burbujeo y la selección por selección, especialmente la selección por selección, es un algoritmo de clasificación muy natural, y la clasificación rápida no es algo que la gente común inventará a voluntad.

La deducción de la ordenación rápida necesita usar la recursividad para pensar en el problema de los bucles. Sin embargo, siempre he tratado de usar bucles para evitar llamadas recursivas. Lo interesante es que los lenguajes compilados funcionalmente como Haskell no tienen bucles. Efecto Veamos un ejemplo simple: por ejemplo, para aumentar de 1 a 100, naturalmente usaremos un ciclo para acumular de 1 a 100. Si se reemplaza por recursividad, consulte el siguiente código

1
2
3
4 4
5 5
6 6
7 7
8
resumen de def (arr):
     si len (arr) == 0:
         volver 0
     más:
         return arr [0] + resumen (arr [1:])
 
 
print (summary (items = list (range (1, 101)))) # 5050

La recursión nos ayuda a descomponer los problemas grandes en problemas pequeños. La idea del código anterior es que la suma de la matriz siempre es un elemento único más la suma de las listas de elementos restantes hasta que la lista final de elementos esté vacía (y la suma sea 0).

Supongo que te gusta

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