L'algorithme de tri par compartiment est-il en place ?
L'algorithme de tri par compartiment est-il en place ?

Vidéo: L'algorithme de tri par compartiment est-il en place ?

Vidéo: L'algorithme de tri par compartiment est-il en place ?
Vidéo: ALGORITHMES DE TRI 2024, Novembre
Anonim

Non, ce n'est pas un in- endroit tri algorithme . L'idée est que l'entrée trie eux-mêmes lorsqu'ils sont déplacés vers le seaux . Dans le pire des cas (valeurs séquentielles, mais pas de répétition), l'espace supplémentaire nécessaire est aussi grand que le tableau d'origine.

De cette façon, quels algorithmes de tri sont en place ?

Autre exemple, de nombreux algorithmes de tri réorganisent les tableaux en ordre de tri sur place, notamment: tri à bulles , tri par peigne, tri par sélection, tri par insertion , tri de tas et tri Shell. Ces algorithmes ne nécessitent que quelques pointeurs, leur complexité spatiale est donc de O(log n). Quicksort opère en place sur les données à trier.

Par la suite, la question est de savoir comment fonctionne un algorithme de tri par compartiment ? Tri par godet , ou trier les bacs , est un algorithme de tri cette travaux en répartissant les éléments d'un tableau en un certain nombre de seaux . Chaque baquet est alors trié individuellement, soit en utilisant un autre algorithme de tri , ou en appliquant récursivement le algorithme de tri par seau . Mettre en place un tableau de " initialement vide " seaux ".

Par conséquent, comment implémentez-vous un algorithme de tri par compartiment ?

  1. Supposons que le tableau d'entrée soit: Créez un tableau de taille 10.
  2. Insérez des éléments dans les buckets du tableau. Les éléments sont insérés en fonction de la portée du godet.
  3. Les éléments de chaque seau sont triés à l'aide de l'un des algorithmes de tri stables.
  4. Les éléments de chaque seau sont rassemblés.

Où le tri par compartiment est-il utilisé ?

Tri par godet est principalement utile lorsque l'entrée est uniformément répartie sur une plage. Par exemple, considérons le problème suivant. Sorte un grand ensemble de nombres à virgule flottante compris entre 0,0 et 1,0 et uniformément répartis sur l'ensemble.

Conseillé: