web-dev-qa-db-fra.com

Tri en place

Qu'entend-on par "trier sur place"?

20
joker

Je ne pense pas que ces termes sont étroitement liés:

Trier en place signifie trier une liste existante en modifiant l'ordre des éléments directement dans la liste. Le contraire est laissant la liste originale en l'état et crée un nouvelle liste avec les éléments dans l'ordre.

Ordre naturel est un terme qui décrit comment il est possible de commander objets complets _. Vous pouvez par exemple dire que 0 est inférieur à 1 (ordre naturel pour les entiers) ou que A est avant B dans l'ordre alphabétique (ordre naturel pour les chaînes). Vous pouvez difficilement dire que Bob est supérieur ou inférieur à Alice en général car elle dépend fortement d'attributs spécifiques (alphabétiquement par nom, par âge, par revenu, ...). Par conséquent, il y a pas d'ordre naturel pour les personnes.

4
Matthias Meid

Le tri sur place signifie un tri sans aucun espace supplémentaire. Selon wiki , cela dit 

un algorithme sur place est un algorithme qui transforme une entrée en utilisant une structure de données avec une petite quantité constante d'espace de stockage supplémentaire.

Quicksort est un exemple de tri sur place.

3
roger_that

cela peut être fait en utilisant la fonction swap, au lieu de créer une toute nouvelle structure, nous implémentons cet algorithme sans même savoir son nom: D

0
Alsh compiler

Je ne suis pas sûr que ces concepts soient suffisamment similaires pour pouvoir être comparés comme suggéré. Oui, les deux impliquent un tri, mais l’un concerne un ordre de tri compréhensible pour l’homme (naturel) et l’autre définit un algorithme pour un tri efficace en termes de mémoire en écrasant dans la structure existante au lieu d’utiliser une structure de données supplémentaire (comme un type de bulle)

0
cmbaxter