Quel est le meilleur moyen de trier les champs alphanumériques?Tri alphanumérique
Répondre
Vous trouverez que la plupart des bibliothèques de développement sont livrées avec une implémentation de l'algorithme quicksort, qui est souvent l'algorithme de tri le plus rapide. Découvrez le Wikipedia link here.
Vous ne spécifiez pas votre langue cible, mais quoi qu'il en soit, elle devrait avoir des méthodes de tri intégrées et fiables, alors utilisez l'une d'entre elles! Pour PHP ...
Charger dans un tableau et trier ($ array);
php sort ...
$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
foreach ($fruits as $key => $val)
{
echo "fruits[" . $key . "] = " . $val . "\n";
}
Sortie:
fruits[0] = apple
fruits[1] = banana
fruits[2] = lemon
fruits[3] = orange
Bubble sort! Je plaisante :)
Probablement votre meilleur pari serait quicksort ou mergesort.
Les deux sont O (nlogn) par opposition à l'O de tri à bulles (n^2)
En C#, Liste a .Sort().
En QuickSort général est très rapide sur de nombreuses situations, mais il dépend toujours de la taille du tableau,
Voici le link
La réponse à votre question est intimement liée à certains détails que vous n » t fourni. Le "meilleur/le plus rapide" dépend de la longueur des champs, du nombre de tri, de la quantité de mémoire disponible, des vitesses relatives du disque et de la mémoire, des détails des chaînes, ..., ad nauseam.
Knuth Vol 3 a les détails sur une grande variété d'approches. Je ne me souviens pas s'il parle de Radix Sorting, mais il le fait probablement. S'il ne le fait pas, vous devriez rechercher quelques références sur le tri par radix. C'est seulement utile dans un ensemble restreint de circonstances, mais vole positivement là. Si vous avez un petit jeu de chaînes courtes, Bubble Sort fonctionnera mieux que les tris complexes sur certaines architectures, en raison des frais généraux plus bas. La bibliothèque C Run Time inclut une version de Quick Sort car cela peut être un algorithme très efficace pour des ensembles de données plus volumineux dans certaines circonstances.
Net-net, la réponse est "Cela dépend".
La « meilleure » façon dépend de beaucoup de facteurs:
- Avez-vous besoin de soutenir plus de la langue?
- Avez-vous besoin de supporter simultanément plus d'une langue?
- Avez-vous besoin de prendre en charge des langues autres que le système d'exploitation actuel ou la langue de l'utilisateur? (par exemple, applications Web)
- Avez-vous besoin de gérer plus d'un encodage? (unicode, utf-16le/utf-8, pages de codes ansi, etc.)
- Avez-vous besoin de prendre en charge des entrées longues ou hautement redondantes?(où le précalcul ou la compression peut accélérer les opérations de tri)
- Avez-vous besoin de prendre en charge un grand nombre d'entrées, par exemple: millions ou milliards d'entrées?
- 1. Comment appliquer un tri alphanumérique dans XSLT
- 2. Regex pour alphanumérique et le caractère +
- 3. Boîte de texte avec saisie alphanumérique javascript
- 4. Comment limiter CreateWindowEx à une entrée alphanumérique uniquement?
- 5. Fetch les lignes où le premier caractère non alphanumérique
- 6. regex pour mot alphanumérique, doit comporter 6 caractères
- 7. lecture d'une partie d'une chaîne alphanumérique dans SQL
- 8. xslt tri
- 9. Tri LINQ
- 10. DataGridView Tri
- 11. XML tri
- 12. C# tri des chaînes VS tri des chaînes Oracle
- 13. Tri des itérateurs PHP
- 14. tri gridviews et SortExpression
- 15. nœuds tri XLST
- 16. std :: tri sans foncteurs
- 17. SQLite - question de tri
- 18. pagination PHP et tri
- 19. Tableau déroulant avec tri
- 20. tri alphabétique avec XSLT
- 21. GridView ASP.NET Tri
- 22. javascript array tri
- 23. Tri table SQL
- 24. Tri de l'objet ArrayList
- 25. C# multiple de tri
- 26. Tri DataGridView par programme
- 27. ASP.Net GridView Tri
- 28. Listes Sharepoint.GetListItems tri
- 29. TRI PERSONNALISÉ XSL?
- 30. Tri avec MVCContrib