QuickRanking : Algorithme Rapide de Classement - Archive ouverte HAL Accéder directement au contenu
Pré-Publication, Document De Travail Année : 2015

QuickRanking : Algorithme Rapide de Classement

Résumé

QuickRanking est un algorithme qui permet dans un même traitement, de trier les données et de retourner leur ordre de classement, c’est-à-dire leur rang dans le tri. Pour des traitements plus rapides, QuickRanking ne déplace pas les données, mais mémorise pour chaque donnée, où est la donnée qui la suit. Cette méthode est expliquée en Annexe 1. Le code est en annexe 2. Pour évaluer l’efficacité de QuickRanking, j’ai reproduit en annexe 3 le code source de QuickSort, et en annexe 4 une version « enrichie » de QuickSort, que j’ai appelée QuickSort_AndRank, qui à l’instar de QuickRanking, ne déplace pas directement les données mais déplace les références des indices des données. D’où un gain de temps sur les traitements des données alphanumériques volumineuses car l’on déplace des entiers de 4 octets et non plus des chaînes de caractères de longueurs variables. Cela nécessite des capacités mémoire supplémentaires, mais permet du coup d’utiliser ces tableaux de référence pour retourner un ordre de classement en plus du tri, tout comme le fait QuickRanking. J’ai comparé ces trois algorithmes - QuickSort (tri simple), QuickSort_AndRank, et QuickRanking (tri et classement) - les résultats sont synthétisés dans un tableau en annexe 5. Mon analyse est la suivante pour le traitement de tri et le classement des données : - Données numériques : QuickSort_AndRank est plus rapide que QuickRanking uniquement sur les grandes listes de données. QuickRanking prend l’avantage dans les autres cas. Avantage accentué lorsque les données en début de liste sont déjà classées, lorsque la liste est composée de peu de valeurs différentes, ou lorsque la valeur minimale ou maximale est souvent représentée. - Données Alphanumériques : QuickRanking est plus rapide que QuickSort_AndRank. Avantage accentué sur le traitement des grandes chaînes de caractères. Conclusion : liste idéalement aléatoire ou liste fortement classée, données volumineuses ou de taille réduite, la réalité se situe souvent entre ces extrêmes. Dans la pratique, QuickRanking offre alors une alternative intéressante… Remarques : - Vous trouverez plus d'informations dans le fichier PDF joint. - Le fichier EXCEL joint reprend ces algorithmes. - Les tests ont été réalisés sur un PC bureautique en VBA sous EXCEL. Les résultats sont donnés à titre indicatifs, l’objectif étant de faire ressortir une tendance. Ces résultats devront être confirmés dans d’autres langages de programmation et avec d’autres systèmes d’exploitation. Je recherche des volontaires si l'aventure vous tente. - Cette version 4, plus performante que les versions précédentes, dispose aussi en option d'analyses supplémentaires pour accélérer les traitements sur les listes partiellement classées.

Mots clés

Fichier principal
Vignette du fichier
QuickRanking - Algorithme Rapide de Classement.pdf (375.14 Ko) Télécharger le fichier
QuickRanking - Algorithme Rapide de Classement (1).xlsm (114.54 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-01154432 , version 1 (02-06-2015)
hal-01154432 , version 2 (29-08-2015)
hal-01154432 , version 3 (07-09-2015)
hal-01154432 , version 4 (22-09-2015)

Licence

Paternité - Pas d'utilisation commerciale - Pas de modification

Identifiants

  • HAL Id : hal-01154432 , version 4

Citer

Laurent Laurent Ott Ott. QuickRanking : Algorithme Rapide de Classement. 2015. ⟨hal-01154432v4⟩
349 Consultations
2481 Téléchargements

Partager

Gmail Facebook X LinkedIn More