cs_klini
Messages postés7Date d'inscriptionvendredi 15 juin 2007StatutMembreDernière intervention19 juin 2007
-
15 juin 2007 à 21:07
cs_yvesyves
Messages postés561Date d'inscriptionsamedi 10 janvier 2004StatutMembreDernière intervention11 octobre 2010
-
16 juin 2007 à 20:58
Salut a tous,
Alors comme pour mon precedent post, j ai l impression de rater quelque chose d'evident mais je ne vois pas quoi...
J ai un tableau de string que je veux trier par ordre alpha
et je fais donc tout simplement
Array.sort(montableau)
sauf que Array.sort n'est pas reconnu...
est ce que je dois importer quelque chose ...??
jmfmarques
Messages postés7668Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 15 juin 2007 à 22:30
Je suis actuellement en train de mettre au point un algorithme de tri de tableau un peu particulier (un peu fou) qui devrait aller au moins une fois et demi plus vite que ceux que l'on connait déjà. Je me heurte à un petit os que j'espère résoudre d'ici peu, avant de me lancer (toujours sur le même principe) vers un algo encore plus "avancé".
Je crois qu'en attendant, le lien vers lequel Mortalino t'a dirigé est, parmi d'autres, un bon lien !
Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 20097 16 juin 2007 à 09:28
Meilleur que QuickSort/HeapSort ?
Wow si t'y arrive je serai très impressioné, me réjouis de voir ca...
Sinon utilise simplement une liste à la place de ton array, ou si tu veux vraiment utiliser une array, transforme le en liste avec List.AddRange(TonArray), et puis après le tri tu peux le retransformer avec List.CopyTo(TonArray).
C'est vrai qu'il y a le temps de copie a prendre en compte, mais le List.Sort est bien plus rapide (ordre n*log n) qu'un Tri-Bulle (ordre n^2) comme implémenté sur le seul snippet du lien de Mortalino qui n'utilise pas les listes...
Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 20097 16 juin 2007 à 20:31
CountingSort pour trier des string ^^, je te raconte pas les dégats de la taille du tableau de comptage ^^...Avec k le nombre de combinaisons d'objets différentes et n la taille du tableau, on a bien si k O(n), un temps O(n).
Maintenant pour des strings, mettons d'une longueur de 6 charactères avec rien que des lettres de A-Z, tu as déjà un algorithme de O(26^6), ce qui fait un tableau de strings de 308 Go pour commencer à devenir du O(n).... Je sais pas toi, mais moi je ne suis pas convaincu...
cs_yvesyves
Messages postés561Date d'inscriptionsamedi 10 janvier 2004StatutMembreDernière intervention11 octobre 2010 16 juin 2007 à 20:58
Evidemment cela ne marche que pour des nombres et je déconseille d'avoir des nombres à trier plus grands que 60000. Maintenant celui -ci est très efficace quand on doit l'utiliser 1 millions de fois (dans une boucle) par rapport au quicksort..