|
Siempre tengo la duda cuando estoy ordenando una lista de cual será la forma óptima de hacerlo, ya que dependiendo de como lo hagas darás mas pasos o menos. |
|
El número de pasos que necesitarás para ordenar una lista depende de su estado inicial (o sea, lo desordenada que esté) y de su tamaño (el número de elementos). Existen muchos algoritmos de ordenación y para compararlos los científicos computacionales determinan cómo crece el número de pasos necesario en función del tamaño de la lista, para tres posibles casos: el mejor, el peor y el promedio. Esperar el caso mejor no tiene mucho sentido, por lo que supongo que tú estarás interesado más bien en el caso peor o en el promedio. La mayoría de los métodos de ordenación "sencillos" tienen una complejidad en promedio de En este algoritmo comienzas examinando tus cartas por la izquierda. Supones que la primera ya está en su sitio y tomas la segunda. Si es menor que la primera, la pones a su izquierda, si es mayor la dejas donde está y vas a por la tercera. Tomas ésta y la insertas en donde corresponda entre las dos primeras (a su izquierda, en medio o la dejas donde estaba). Haces lo mismo con la cuarta, etc. En cada paso supones ordenadas las primeras cartas e insertas la siguiente donde corresponda entre esas primeras, hasta llegar a la última carta. El tiempo requerido por ese algoritmo crece con el cuadrado del número de cartas. La fórmula exacta del crecimiento no suele darse. Al decir que es Existen algoritmos mejores, y no son difíciles de implementar en un ordenador, pero sí quizás más difíciles de hacer "en la cabeza" o en el papel. Los mejores algoritmos tienen una complejidad media de He leído que hay incluso algoritmos más rápidos, para el caso de querer ordenar enteros, pero no he podido encontrar detalles. En wikipedia tienes una página con un completo listado de algoritmos de ordenación que especifica la complejidad de cada uno. |
CLIC AQUI PARA MOSTRAR/OCULTAR EL CHAT
