duda de la eficiencia del Ordenamiento por combinacion - mezcla - merge sort

Iniciado por jhonatanAsm, 12 Julio 2012, 07:12 AM

0 Miembros y 1 Visitante están viendo este tema.

jhonatanAsm

hola,

Si ya se sabía que la recursividad consumía mucho tiempo, memoria,etc.

¿ Por qué implementarla en el algoritmo de ordenamiento por combinación?

además si se dice que éste es un algoritmo de ordenamiento eficiente.
mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.

- La mayor complejidad de todas es hacer complejo algo que no lo es.

- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.

[Case]

No entiendo lo de ordenamiento por combinación. Tecnicamente mergesort no hace ninguna combinación.

Se implementa con recursividad por que para el programador es mas natural de leer y entender, ahora la mayoría de nuestras ordenaciones son cosas pequeñas que no rebasan el millón, por lo que usar recursion no afecta en mucho, ademas de que depende del compilador el tiempo y memoria de consumo final.

jhonatanAsm

mmm...

si una llamada recursiva crea copias del metodo para almacenar las variables de éste. creo que consumiría demasiada memoria, y mucho esfuerzo por parte del cpu.

aunque pensándolo mejor, bastaría con implementar el método con iteraciones y asunto arreglado. no?
mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.

- La mayor complejidad de todas es hacer complejo algo que no lo es.

- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.

[Case]

Cita de: jhonatanAsm en 13 Julio 2012, 01:40 AM
mmm...

si una llamada recursiva crea copias del metodo para almacenar las variables de éste. creo que consumiría demasiada memoria, y mucho esfuerzo por parte del cpu.

aunque pensándolo mejor, bastaría con implementar el método con iteraciones y asunto arreglado. no?

Pues tienes razón, pero implementar MergeSort con iteración si esta difícil, ademas repito, depende de que vas a ordenar, para saber si vale la pena optimizar el programa.

jhonatanAsm

la cantidad de datos sería > 220

piensa en grande es mi lema!!

salu2.
mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.

- La mayor complejidad de todas es hacer complejo algo que no lo es.

- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.