Maison > Problème commun > le corps du texte

Qu'est-ce que le tri par compartiment

藏色散人
Libérer: 2020-06-29 10:42:20
original
4171 Les gens l'ont consulté

Le tri par compartiments est un algorithme de tri. Le principe de fonctionnement est de diviser le tableau en un nombre limité de compartiments. Le tri par compartiments est également un résultat inductif du tri par compartiments. are Lorsqu'il est distribué uniformément, le tri par compartiment utilise un temps linéaire, mais le tri par compartiment n'est pas un tri par comparaison et il n'est pas affecté par la limite inférieure « O(n log n) ».

Qu'est-ce que le tri par compartiment

Tri par bucket

Si l'on sait que la plage de valeurs de N mots-clés est de 0 à entre M-1 et M est beaucoup plus petit que N, l'algorithme de tri par bucket crée un « bucket » pour chaque valeur du mot-clé, c'est-à-dire que M buckets sont créés lors de l'analyse de N mots-clés, chaque clé met les mots dans le correspondant. seaux, puis les collecter dans l'ordre des seaux à ordonner naturellement

Introduction :

Le tri par seau, ou ce qu'on appelle le tri par boîte, est un algorithme de tri, le principe de fonctionnement est de divisez le tableau en un nombre limité de compartiments. Chaque bucket est trié individuellement (il est possible d'utiliser d'autres algorithmes de tri ou de continuer à utiliser le tri par buckets de manière récursive). Le tri par seau est un résultat inductif du tri par compartiments. Le tri par compartiment utilise le temps linéaire (Θ(n)) lorsque les valeurs du tableau à trier sont uniformément réparties. Mais le tri par compartiment n'est pas un tri par comparaison et il n'est pas affecté par la limite inférieure O(n log n).

Définition

Hypothèse : L'entrée est un nombre réel uniformément distribué dans l'intervalle [0, 1) généré par un processus aléatoire. Divisez l'intervalle [0, 1) en n sous-intervalles (seaux) de taille égale, chaque taille de seau est 1/n : [0, 1/n), [1/n, 2/n), [2/n , 3/n),…,[k/n, (k+1)/n),…distribuer n éléments d'entrée à ces compartiments, trier les éléments dans les compartiments, puis connecter les compartiments en séquence pour entrer 0 ≤A [1 ..n] <1 Le tableau auxiliaire B[0..n-1] est un tableau de pointeurs pointant vers le compartiment (liste chaînée).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal