Foro de elhacker.net

Programación => Java => Mensaje iniciado por: ignorantev1.1 en 7 Julio 2013, 06:57 am



Título: [Opinión] Metodo de ordenamiento rápido.
Publicado por: ignorantev1.1 en 7 Julio 2013, 06:57 am
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!


Título: Re: [Opinión] Metodo de ordenamiento rápido.
Publicado por: ~ Yoya ~ en 8 Julio 2013, 03:21 am
Lee sobre colecciones.


Título: Re: [Opinión] Metodo de ordenamiento rápido.
Publicado por: ThinkByYourself en 8 Julio 2013, 15:19 pm
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


Título: Re: [Opinión] Metodo de ordenamiento rápido.
Publicado por: Søra en 8 Julio 2013, 22:31 pm
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/).


Título: Re: [Opinión] Metodo de ordenamiento rápido.
Publicado por: ignorantev1.1 en 11 Julio 2013, 20:30 pm
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



Título: Re: [Opinión] Metodo de ordenamiento rápido.
Publicado por: Slider324 en 13 Julio 2013, 23:27 pm
para los repetidos podrias usar HashSet saludos  :xD


Título: Re: [Opinión] Metodo de ordenamiento rápido.
Publicado por: DarkSorcerer en 3 Agosto 2013, 07:23 am
Te dare algo para investigar

Investiga acerca del metodo "compareTo"