lista = [5, 7, 1, 3, 8, 4, 9, 2, 6] lista.sort() print(lista) Como practica esta muy bien pero esto lo simplifica :) Gracias por tus enseñanzas profesor.
Compi el explica el porque de las cosas, el origen de todo... Si desea ser un excelente programador debe aprender esto.... El porque de las cosas sus origenes
Hola, como explicamos en el reto uno de este nivel, estos algoritmos son muy importantes, no sólo para entender los ordenamientos, o como práctica, sino porque a veces las cosas no son tan sencillas como ordenar una lista, ya que un programa puede utilizar unas estructuras de datos complejas que requieren implementar algoritmos adaptados a esas estructuras. Espero que te pueda servir. Un saludo.
En el ordenamiento por selección y por inserción se puede implementar una forma de saber cuántas comparaciones se hacen y así comparar con la misma lista ambos ?
Hola, no se si entiendo bien qué quieres decir, si te refieres a ordenar la lista empezando por el último en vez del primero, sería igual pero en vez de empezar por el segundo se empezaría por el antepenúltimo y se irían comparando con los anteriores en vez de con los siguientes y se comprobaría si son menores en vez de mayores. Te dejo el código por si te puede servir: for i in range(len(lista)-2, -1, -1): actual = lista[i] indice = i while indice < len(lista)-1 and lista[indice + 1] < actual: lista[indice] = lista[indice + 1] indice = indice + 1 lista[indice] = actual print(lista) Un saludo.
Hola, no, porque como luego restamos una unidad al indice para acceder a los elementos de la lista y compararlos: while indice > 0 and lista[indice - 1] si indice fuese igual a 0 iríamos a índices negativos y no funcionaria, se compararía el elemento lista[0] con el elemento lista[-1], en cambio al quedarse en mayor que cero, se compara como máximo lista[1] con lista[0]. Espero que te pueda servir. Un saludo.
@@manuelgonzalez1644 Gracias lo último por que se le llama algoritmo de inserción si en la práctica estamos haciendo un cambio ? pero como tal no es algo insertado a mi parecer
Hola, es el nombre por el que se conoce. En la práctica todos los algoritmos consisten en cambiar elementos de lugar, pero en este caso creo que hace referencia a que se toma un elemento (como si fuese una carta en una mano de una baraja) y se inserta en el lugar que le corresponde. Así como en el de selección se recorren los lugares y se selecciona el elemento que corresponde a un lugar, en este se recorren los elementos y inserta cada elemento en su lugar. Un saludo.