• Autor de la entrada:
  • Categoría de la entrada:Noticia


Hoy vamos a ver 6 algoritmos de clasificación que todo programador debería conocer. 

Entonces, sin más preámbulos, comencemos.

Algoritmos que todo programador debe saber – parte 2

Te puede interesar también:

Insertion Sort

La ordenación por inserción itera, consume un elemento de entrada en cada repetición y genera una lista de salida ordenada. En cada iteración, la ordenación por inserción elimina un elemento de los datos de entrada, encuentra la ubicación a la que pertenece dentro de la lista ordenada y lo inserta allí. Se repite hasta que no quedan elementos de entrada.

Tipo de inserción

Toma una entrada a la vez y la compara con el elemento anterior en la lista para colocar el elemento seleccionado en el lugar correcto. Para el primer elemento, se compara con el siguiente elemento. Se repitió una y otra vez hasta que el último elemento de la lista se colocó en el lugar correcto. Después del último elemento, la lista se ordena.

Cuándo se puede usar

  • Cuando la lista es pequeña
  • Cuando la lista está casi ordenada, solo se necesitan unos pocos elementos para ordenar

Selection Sort

El algoritmo divide la lista de entrada en dos partes: una sublista ordenada de elementos que se construye de izquierda a derecha en el frente (izquierda) de la lista y una sublista de los elementos restantes sin ordenar que ocupan el resto de la lista. Inicialmente, la sublista ordenada está vacía y la sublista no ordenada es la lista de entrada completa. El algoritmo procede encontrando el elemento más pequeño (o el más grande, según el orden de clasificación) en la sublista sin clasificar, intercambiándolo con el elemento sin clasificar más a la izquierda (poniéndolo en orden) y moviendo los límites de la sublista un elemento a la derecha. .

Clasificación de selección

Inicialmente, la lista se divide en dos partes. Una ordenada que está en el extremo izquierdo y otra lista sin clasificar que está en el extremo derecho. También al principio, la lista ordenada está vacía y todo el elemento está en la lista sin ordenar. Luego elegimos el elemento más pequeño de la lista desordenada y lo colocamos en la lista ordenada. Luego, la longitud de la lista ordenada aumenta y la lista sin ordenar disminuye. El proceso continúa hasta que la lista desordenada está vacía.

Cuándo usar

  • Para verificar si la lista dada ya está ordenada o no
  • Cuando la memoria es pequeña, ya que usa menos intercambio

Heap Sort

Heapsort divide su entrada en una región ordenada y otra no ordenada, y reduce iterativamente la región no ordenada extrayendo el elemento más grande de ella e insertándolo en la región ordenada. A diferencia de la ordenación por selección, la ordenación heapsort no pierde el tiempo con un escaneo de tiempo lineal de la región no ordenada; más bien, la ordenación en montón mantiene la región no ordenada en una estructura de datos en montón para encontrar más rápidamente el elemento más grande en cada paso.

Ordenar montón

En la ordenación de montón, el valor de entrada se almacena en una memoria de montón con la raíz del valor más grande del árbol. Luego, los valores más grandes se almacenan en una matriz de la lista. El proceso continúa hasta que la memoria del montón está vacía y la salida es la matriz ordenada.

Cuándo usar

  • Cuando la lista es enorme
  • Cuándo encontrar el elemento más pequeño o más grande en la lista

Merge Sort

Conceptualmente, una ordenación por fusión funciona de la siguiente manera:

  • Divida la lista desordenada en n sublistas, cada una de las cuales contiene un elemento (una lista de un elemento se considera ordenada).
  • Combine sublistas repetidamente para producir nuevas sublistas ordenadas hasta que solo quede una sublista. Esta será la lista ordenada.
Ordenar por fusión

La lista se divide en sublistas, cada lista contiene un elemento. Luego, cada elemento se compara con su elemento vecino y se fusiona en otra sublista según el orden. 

Este proceso continúa con cada sublista. Ahora cada sublista tiene 2 elementos, ahora cada sublista se compara con la sublista del vecino. Cada sublista tiene 2 elementos. La lista se fusiona con otra sublista según el orden. Ahora cada sublista tendrá 4 elementos. Este proceso continúa hasta que solo queda una sublista. esta sublista estará ordenada.

Cuándo se puede usar

  • Cuando la lista es lista enlazada
  • Cuando la lista es enorme

Quick Sort

Quicksort es un algoritmo de divide y vencerás. Funciona seleccionando un elemento ‘pivote’ de la matriz y dividiendo los otros elementos en dos sub-matrices, según sean menores o mayores que el pivote. Por esta razón, a veces se le llama clasificación de intercambio de partición.[

Ordenación rápida

En ordenación rápida, elegimos un elemento de la lista llamado pivote (principalmente es el primero o el último elemento de la lista). Luego, reordenamos la matriz de tal manera que todos los elementos que son menores que el pivote se colocan antes del pivote y los elementos mayores que los valores de pivote se colocan después del valor de pivote.

Repetimos este paso en ambas sublistas, es decir, antes y después del valor pivote. Esto continúa hasta que se ordena la lista.

Cuándo usar

  • Cuando la lista es pequeña
  • Se prefiere para la matriz

Counting Sort

En informática, la clasificación por conteo es un algoritmo para clasificar una colección de objetos de acuerdo con claves que son números enteros pequeños; es decir, es un algoritmo de clasificación de enteros. Funciona contando el número de objetos que tienen cada valor clave distinto y usando aritmética en esos recuentos para determinar las posiciones de cada valor clave en la secuencia de salida.

clasificación de conteo

Después de tomar la entrada, contar el número de veces que el elemento se repite en la lista. Por lo tanto, tiene 2 valores distintos, uno para el elemento y el otro para el conteo. Luego haciendo el cálculo aritmético sobre él y decidiendo la posición de cada elemento en la lista.

Para el cálculo aritmético, lea el artículo de GeeksforGeeks sobre clasificación por conteo

Cuándo usar

  • Cuando el rango de valores de entrada no es mayor que el número de valores que se ordenarán.
  • Para una pequeña lista de arreglos

Deja tus comentarios y sugerencias


Sobre Facialix

Facialix es un sitio web que tiene como objetivo apoyar en el aprendizaje y educación de jóvenes y grandes. Buscando y categorizando recursos educativos gratuitos de internet, de esta manera Facialix ayuda en el constante aprendizaje de todos.


Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.