Hola, buenas.
Estoy realizando mi primer proyecto en Java, no decidí empezar con un "Hola mundo", ni nada por el estilo ya que contaba, anteriormente, con algunos conocimientos en programación.
Lo que pretendo hacer es gestionar datos, en miles, digamos, una relación de nombres de personas. Ya que son capturadas (o tomados de algún archivo), busco que se ordenen alfabéticamente. Por esto decidí venir a preguntar, pues me gustaría saber su opinión sobre que "método" consideran el más rápido y adecuado. Actualmente utilizo árboles binarios, es un poco lento el proceso, pero es el más adecuado, considero yo.
¿Ustedes qué opinan?
¡Saludos!
Lee sobre colecciones.
El logaritmo más eficiente de ordenación era... me parece que depende de lo que te propongas ordenar, pero echándole Imma(ginación) y Sole(dad) seguro que algo se te ocurre. Aquí algunos ejemplos a ritmo de bailes tradicionales (pa' que veas si hay tinta y no tinta al respecto... xD) Espero que te sirva! http://www.genbetadev.com/desarrolladores/algoritmos-de-ordenacion-explicados-mediante-bailes-tradicionales
El mejor método para ordenación de números es quicksort, lo he probado como parte de un proyecto de coste de algoritmos, te dejo en el pastebin (http://pastebin.com/qaYQwwRf) una lista con tiempos de ejecucion de varios algoritmos de ordenacion en funcion de la longitud de la tabla, de el tipo de numeros (enteros/reales) y de la ordenacion anterior ...
¿Sabes calcular el coste en tiempo de un algoritmo?
Básicamente el coste en tiempo del método quick sort es O(n*log(n)) mientras que el de otro
como el de seleccion es de O(n*n), con n=T.length
De todos modos el coste en memoria sera mayor el del recursivo porque el orden del quicksort es O(n*n) y el de los no recursivos de O(n), pero vamos que en memoria no te importe porque como mucho te dara un stavkoverflow pero deberías de trabajar con millones de datos asique... nose si algun dia trabajas con muchísimos millones de datos es posible que el quicksort pete tu ordenador pero millones millones...
Un saluuudo!
Documentacion sobre coste de algoritmos here (http://www.lab.dit.upm.es/~lprg/material/apuntes/o/).
No es sobre números, ordenaré cadenas de caracteres, las repetidas no entrarán. :)
Voy a pegarle una revisada a la cuestión de las colecciones.
Saludos
para los repetidos podrias usar HashSet saludos :xD
Te dare algo para investigar
Investiga acerca del metodo "compareTo"