Je voudrais savoir la meilleure façon de trier une longue liste de chaînes avec l'efficacité du temps et de l'espace. Je préfère l'efficacité du temps à l'efficacité de l'espace. Les chaînes peuvent être numériques, alpha, alphanumériques etc. Je ne suis pas intéressé par le comportement de tri comme le tri alphabétique tri alphabétique v/s juste le tri lui-même.Meilleure façon de trier une longue liste de chaînes
Certaines façons ci-dessous que je peux penser.
En utilisant le code ex: la fonction Arrays.Sort() du framework .Net. Je pense que la façon dont cela fonctionne est que les hashcodes pour les chaînes sont calculés et la chaîne est insérée à la bonne position en utilisant une recherche binaire.
Utilisation de la base de données (ex: MS-sql). Je n'ai pas fait ça. Je ne sais pas à quel point cela serait efficace. Utilisation d'une structure de données arborescente de préfixe comme un trie. Le tri nécessite de parcourir tous les trieNodes de l'arbre trie en utilisant l'heure DFS (depth first search) - O (| V | + | E | (La recherche prend O (l) heure où l est la longueur de la chaîne à comparer).
D'autres moyens ou structures de données?
mettre quelle langue dans un tag –
à la recherche d'une solution indépendante du langage – hIpPy