Étape 6: Mise en œuvre de quick_sort
Arrière-plan
Maintenant que nous avons écrit la fonction qui fait le gros du travail, nous pouvons obtenir à la partie la plus facile. Notre fonction de quick_sort est très facile à comprendre et repose sur l’idée que nous voulons faire que peu de travail que possible nous-même.
Notre première question est la suivante : quel est le tableau plus facile à trier ? À mon avis, c’est un avec un seul élément. Si vous me donnez un chiffre, je peux le régler instantanément. En collaboration avec cette notion, nous allons écrire quick_sort.
Objectif
Nous voulons briser votre travail en utilisant notre fonction de qs_partition donc qui ne devez effectuer aucun travail réel.
Mesures
1) nous vais tout d’abord vérifier si nous pouvons éviter travail au total. Si notre limite gauche est inférieur à notre limite de droite, puis nous avons à faire, malheureusement. Si notre limite gauche est la même que notre limite droite, la section que nous sommes tri est un seul élément. Si la gauche est supérieure à droite, nous sommes dans un état d’erreur.
2) notre prochaine stratégie travail évitement est révélateur des autres personnes à le faire. Nous allons appeler qs_partition et recevoir pivot indice qu’elle utilisait. Comme vous le savez à la dernière étape, quoi que ce soit dans le tableau avant cet indice est inférieur ou égal à la valeur au niveau du pivot. Après, tout est supérieur à l’axe.
3) ce que cela signifie ? Cela signifie que si nous avons tout régler avant le pivot et tout après le pivot, nous aurons un tableau trié, car le pivot est déjà à l’endroit correct. Donc, nous allons faire exactement cela. Ne savons-nous pas les algorithmes de tri ? Nous avons quick_sort.
Examen
Il semble que nous pouvons sortir avec ne pas faire un vrai travail. Vous verrez que si nous appelons quick_sort, il en résulte deux appels quick_sort plus, un de chaque côté de notre pivot. Ce comportement de ramification continuera jusqu'à ce que chaque appel s’exécute dans un tableau, ce n'est qu’un seul élément. Étant donné un tableau d’un seul élément est trié, puis notre tableau dans son intégralité est triée.