Documentos de Académico
Documentos de Profesional
Documentos de Cultura
El algoritmo de Dijkstra encuentra el camino más corto entre un nodo dado (el
nodo de origen) y todos los otros nodos del grafo.
Este algoritmo usa los valores de los arcos para encontrar el camino que minimiza
el valor total entre el nodo de origen y los demás nodos del grafo. Este valor
depende de lo que representa el valor de los arcos en el grafo. Puede ser, por
ejemplo, tiempo, costo o distancia.
Método de inserción
PASOS
Comenzar con una lista de elementos desordenados.
Tomar el primer elemento de la lista y considerarlo como parte ordenada.
Comparar el segundo elemento con el primero. Si el segundo elemento es menor,
intercambiarlos.
Tomar el tercer elemento y compararlo con los elementos en la parte ordenada.
Insertar el tercer elemento en la posición correcta dentro de la parte ordenada,
desplazando los elementos mayores hacia la derecha.
Repetir el paso anterior para cada elemento restante en la lista, insertándolos en la
posición correcta dentro de la parte ordenada.
Continuar este proceso hasta que todos los elementos hayan sido insertados en la
parte ordenada y la lista esté completamente ordenada.
Método de SHELL
PASOS
Comenzar con una lista de elementos desordenados.
Seleccionar un valor de paso (gap). El gap es la distancia entre los elementos
que se van a comparar y ordenar en cada iteración.
Dividir la lista en subgrupos de elementos separados por el gap seleccionado.
Aplicar el algoritmo de inserción directa en cada subgrupo para ordenar los
elementos en ese subgrupo.
Reducir el valor del gap y repetir los pasos 3 y 4 hasta que el gap sea 1.
Ejecutar una última pasada de inserción directa en la lista completa con gap
igual a 1 para asegurar que todos los elementos estén en su posición correcta.
Método de quicksort
PASOS
Elegir un elemento de la lista, al que llamaremos "pivote". La elección del pivote
puede variar según la implementación, pero comúnmente se selecciona el
elemento del medio.
Dividir la lista en dos subconjuntos: los elementos más pequeños que el pivote y los
elementos más grandes que el pivote. Esto se conoce como particionar la lista.
Recursivamente, aplicar los pasos 1 y 2 a cada uno de los subconjuntos generados
en el paso anterior. Esto implica elegir un nuevo pivote para cada subconjunto y
particionarlos nuevamente.
El caso base de la recursión ocurre cuando un subconjunto tiene menos de dos
elementos, lo que significa que está ordenado por defecto.
Combinar los subconjuntos ordenados para obtener la lista final ordenada.
Método de Merge sort
PASOS
Dividir la lista no ordenada en dos mitades aproximadamente iguales.
Aplicar recursivamente el Merge Sort a cada una de las mitades, dividiéndolas
aún más hasta que se alcance el caso base, es decir, hasta que las mitades
tengan un solo elemento (se consideran ordenadas por definición).
Combinar las dos mitades ordenadas fusionando los elementos en un solo
conjunto ordenado. Este proceso de combinación se realiza utilizando un
procedimiento llamado "merge".
Repetir los pasos 2 y 3 hasta que se hayan combinado todas las mitades y se
obtenga la lista final ordenada.
Método de heapsort
PASOS
Construir un montículo máximo a partir de la lista desordenada. Un montículo
máximo es una estructura de datos en forma de árbol binario en la que cada nodo
padre es mayor o igual que sus hijos.
Extraer el elemento máximo del montículo (que siempre estará en la raíz) y
colocarlo al final de la lista ordenada. Esto se hace intercambiando el elemento
máximo con el último elemento no ordenado.
Reducir el tamaño del montículo en 1 (excluyendo el último elemento que se acaba
de colocar en la lista ordenada).
Restaurar la propiedad del montículo máximo realizando un proceso llamado
"down-heapify" (también conocido como "hundir" o "hacer descender"). Esto
implica mover el nuevo elemento en la raíz del montículo a su posición correcta
dentro del montículo, de manera que vuelva a cumplirse la propiedad de montículo
máximo.
Repetir los pasos 2 a 4 hasta que el montículo esté vacío.
La lista resultante estará completamente ordenada de manera ascendente.
Arboles Binarios
Crea un vector vacío para almacenar la fusión de los dos vectores originales.
Fusiona los dos vectores originales en un solo vector, agregando todos los
elementos del primer vector seguidos de todos los elementos del segundo vector.
Realiza un bucle externo que itere n - 1 veces, donde n es la longitud del vector
fusionado. Este bucle controlará el número de pasadas necesarias para ordenar
completamente el vector.
Dentro del bucle externo, realiza un bucle interno que itere desde el primer
elemento hasta el penúltimo elemento del vector.
En el bucle interno, compara cada elemento con el siguiente elemento adyacente.
Si el elemento actual es mayor que el siguiente elemento, intercámbialos de
posición.
Continúa iterando hasta el final del bucle interno.
Después de cada pasada del bucle externo, el elemento más grande se colocará al
final del vector.
Repite los pasos 4 a 7 hasta que se complete el bucle externo.
Al finalizar, el vector estará completamente ordenado.
Radix sort