Accueil Finances personnelles Comment fonctionne la technique Quicksort en Java? - Les nuls

Comment fonctionne la technique Quicksort en Java? - Les nuls

Vidéo: Sorting Algorithm | Quick Sort - step by step guide 2025

Vidéo: Sorting Algorithm | Quick Sort - step by step guide 2025
Anonim

Vous découvrirez ici comment fonctionne l'une des techniques de tri les plus utilisées en Java. Cette technique est appelée Quicksort, et c'est une utilisation très ingénieuse de la récursivité.

Pour la plupart d'entre nous, comprendre comment les algorithmes de tri tels que Quicksort fonctionnent n'est qu'un exercice intellectuel. L'API Java a déjà intégré le tri.

La technique Quicksort trie un tableau de valeurs en utilisant la récursivité. Ses étapes de base sont donc:

  1. Choisissez une valeur arbitraire comprise dans la plage de valeurs du tableau.

    Cette valeur correspond au point de pivot . La façon la plus courante de choisir le point de pivot est de simplement choisir la première valeur dans le tableau. Les gens ont écrit des diplômes de doctorat sur des façons plus sophistiquées de choisir un point de pivot qui résulte en un tri plus rapide. Stick avec l'utilisation du premier élément dans le tableau.

  2. Réorganisez les valeurs dans le tableau de sorte que toutes les valeurs inférieures au point de pivot se trouvent sur le côté gauche du tableau et que toutes les valeurs supérieures ou égales au point de pivot se trouvent du côté droit du tableau. tableau.

    La valeur de pivot indique la limite entre le côté gauche et le côté droit de la matrice. Ce ne sera probablement pas le point mort, mais cela n'a pas d'importance. Cette étape est appelée partitionnement, et les côtés gauche et droit des tableaux sont des partitions .

  3. Traitez maintenant chacune des deux sections du tableau comme un tableau séparé, et recommencez avec l'étape 1 pour cette section.

    C'est la partie récursive de l'algorithme.

La partie la plus difficile de l'algorithme Quicksort est l'étape de partitionnement, qui doit réorganiser la partition de sorte que toutes les valeurs inférieures au point de pivotement soient à gauche et tous les éléments plus grands que le pivot le point est sur la droite. Supposons que le tableau a ces dix valeurs:

38 17 58 22 69 31 88 28 86 12

Ici le point de pivot est 38, et la tâche de partitionnement est de réorganiser le tableau à quelque chose comme ceci: < 17 12 22 28 31 38 88 69 86 58

Notez que les valeurs sont toujours hors service. Le tableau, cependant, a été divisé autour de la valeur 38: Toutes les valeurs qui sont inférieures à 38 sont à gauche de 38, et toutes les valeurs supérieures à 38 sont à droite de 38.

Maintenant, vous pouvez diviser le tableau en deux partitions à la valeur 38 et répétez le processus pour chaque côté. La valeur de pivot elle-même va avec la partition de gauche, donc la partition de gauche est la suivante:

17 12 22 28 31 38

Cette fois, l'étape de partitionnement choisit 17 comme point de pivot et réorganise les éléments comme suit: > 12 17 22 28 31 38

Comme vous pouvez le voir, cette partie du tableau est maintenant triée.Malheureusement, Quicksort ne réalise pas cela à ce stade, donc il faut un peu plus de récursions pour être sûr. Mais c'est le processus de base.

Comment fonctionne la technique Quicksort en Java? - Les nuls

Le choix des éditeurs

Principes de base du protocole de routage IP Multicast - dummies

Principes de base du protocole de routage IP Multicast - dummies

IP Le routage multicast est le routage du trafic multicast. La nature des données IP Multicast est telle qu'elle a ses propres problèmes de routage de réseau Cisco. Il existe quatre protocoles de multidiffusion principaux pris en charge par le Cisco IOS actuel. L'illustration vous montre approximativement où les protocoles sont utilisés; Ce qui suit est ...

Comment le protocole STP (Spanning Tree Protocol) gère les modifications du réseau - dummies

Comment le protocole STP (Spanning Tree Protocol) gère les modifications du réseau - dummies

Nouveau concentrateur ou passer à un réseau mappé STP (Spanning Tree Protocol)? Pour cet exemple, un concentrateur était connecté à un port sur les deux commutateurs 11: 99 et 77: 22. Un concentrateur était utilisé car il ne disposait pas d'une intelligence réseau. L'effet net est en fait le même que ...

Types de réseau local (LAN) - nuls

Types de réseau local (LAN) - nuls

Un WAN est un type de réseau local (LAN) . Un réseau local est un réseau privé généralement constitué d'une connexion réseau fiable, rapide et bien connectée. Les alternatives sur le framework LAN incluent CAN, MAN et WAN. Ces trois options de réseau sont illustrées ci-dessous: CAN Si vous utilisez le réseau LAN ...

Le choix des éditeurs

Bebo est l'application de médias sociaux pour vous? - les nuls

Bebo est l'application de médias sociaux pour vous? - les nuls

Comment savez-vous quel est le bon média social pour vous? La culture moderne devient de plus en plus dépendante des médias sociaux tels que Bebo, Facebook, Twitter et What'sApp, ainsi que de nombreux autres. Le questionnaire suivant vous aidera à déterminer si vous avez ou non ce qu'il faut pour être social sur le nouveau ...

Comment utiliser Bebo - dummies

Comment utiliser Bebo - dummies

Bebo, la nouvelle application des médias sociaux, est aussi facile à utiliser que C'est amusant à regarder. Vous pouvez obtenir cette nouvelle application sur Google Play Store et Apple App Store. Lancez Bebo et suivez les instructions à l'écran pour terminer le processus de création de compte. Après avoir téléchargé avec succès, ...

Le choix des éditeurs

Ce que vous pouvez trouver dans une barre latérale de blog - des mannequins

Ce que vous pouvez trouver dans une barre latérale de blog - des mannequins

La plupart des blogs contiennent du matériel de barre latérale. La plupart des blogs sont disposés en deux ou trois colonnes, et le contenu de la barre latérale apparaît généralement dans les deuxième et / ou troisième colonnes. Certains blogs n'ont pas de barres latérales, et sur d'autres blogs, vous pouvez découvrir des éléments supplémentaires au-delà de ce que vous voyez ici. Archives basées sur la date: Presque tous les blogs sont ...

Lorsqu'un réseau publicitaire est approprié pour votre blog maman - les mannequins

Lorsqu'un réseau publicitaire est approprié pour votre blog maman - les mannequins

Ne sont que quelques-unes modèles conflit en cours d'exécution des publicités avec vos meilleurs intérêts. C'est quand vous bloguez pour vendre vos propres produits ou pour promouvoir vos services professionnels. Même dans ce cas, il est toujours possible de diffuser des annonces sur ces blogs, surtout si les annonces font la promotion de produits et de services complémentaires et non concurrents. Mais si vous êtes ...

Quand maman blogue pour Swag is Okay - les mannequins

Quand maman blogue pour Swag is Okay - les mannequins

Dans certaines circonstances légitimes vous pouvez vous sentir travailler gratuitement vaut votre temps et la publicité que vous offrez à une marque. Cela peut être comparé à un stage non rémunéré. Si vous êtes stagiaire et que vous avez une excellente expérience de travail, alors c'est une entreprise précieuse. Si vous êtes stagiaire et que vous ne versez que du café et que vous livrez ...