El mtodo de ordenamiento por insercin es un metido sumamente sencillo el
cual puede usarse para ordenar un arreglo usando un simple algoritmo de comparacin entre dos elementos, los beneficios de este mtodo es que su aplicacin en cualquier lenguaje es muy fcil al ser una forma muy natural y fcil de comprender para cualquier usuario. El mtodo de ordenamiento por insercin se asimila mucho a su vez con el mtodo de la burbuja siendo al mismo tiempo un poco ms eficiente y compacto en cuanto cdigo. Algoritmos de seleccin: En este tipo de algoritmos se SELECCIONA o se busca el elemento ms pequeo (o ms grande) de todo el conjunto de elementos y se coloca en su posicin adecuada. Este proceso se repite para el resto de los elementos hasta que todos son analizados. Entre estos algoritmos se encuentra el de SELECCION DIRECTA. Ordenamiento Mtodo de Shell El ordenamiento Shell (Shell sort en ingls) es un algoritmo de ordenamiento. El mtodo se denomina Shell en honor de su inventor Donald Shell. Su implementacin original, requiere O(n2) comparaciones e intercambios en el peor caso. Un cambio menor presentado en el libro de V. Pratt produce una implementacin con un rendimiento de O(n log2n) en el peor caso. Esto es mejor que las O(n2) comparaciones requeridas por algoritmos simples pero peor que el ptimo O(n log n). Aunque es fcil desarrollar un sentido intuitivo de cmo funciona este algoritmo, es muy difcil analizar su tiempo de ejecucin. El Shell sort es una generalizacin del ordenamiento por insercin, teniendo en cuenta dos observaciones: El ordenamiento por insercin es eficiente si la entrada est "casi ordenada". El ordenamiento por insercin es ineficiente, en general, porque mueve los valores slo una posicin cada vez Quicksort El ordenamiento rpido (quicksort en ingls) es un algoritmo creado por el cientfico britnico en computacin C. A. R. Hoarebasado en la tcnica de divide y vencers, que permite, en promedio, ordenar n elementos en un tiempo proporcional a n log n. El algoritmo trabaja de la siguiente forma: Elegir un elemento de la lista de elementos a ordenar, al que llamaremos pivote. Resituar los dems elementos de la lista a cada lado del pivote, de manera que a un lado queden todos los menores que l, y al otro los mayores. Los elementos iguales al pivote pueden ser colocados tanto a su derecha como a su izquierda, dependiendo de la implementacin deseada. En este momento, el pivote ocupa exactamente el lugar que le corresponder en la lista ordenada. La lista queda separada en dos sublistas, una formada por los elementos a la izquierda del pivote, y otra por los elementos a su derecha. Repetir este proceso de forma recursiva para cada sublista mientras stas contengan ms de un elemento. Una vez terminado este proceso todos los elementos estarn ordenados.
Ordenacin de burbuja (Bubble Sort en ingls) es un sencillo algoritmo de ordenamiento. Funciona revisando cada elemento de la lista que va a ser ordenada con el siguiente, intercambindolos de posicin si estn en el orden equivocado. Es necesario revisar varias veces toda la lista hasta que no se necesiten ms intercambios, lo cual significa que la lista est ordenada. Este algoritmo obtiene su nombre de la forma con la que suben por la lista los elementos durante los intercambios, como si fueran pequeas "burbujas". Tambin es conocido como el mtodo del intercambio directo. Dado que solo usa comparaciones para operar elementos, se lo considera un algoritmo de comparacin, siendo el ms sencillo de implementar. Mtodo de Megersort Conceptualmente, el ordenamiento por mezcla funciona de la siguiente manera: 1. Si la longitud de la lista es 0 1, entonces ya est ordenada. En otro caso: 2. Dividir la lista desordenada en dos sublistas de aproximadamente la mitad del tamao. 3. Ordenar cada sublista recursivamente aplicando el ordenamiento por mezcla. 4. Mezclar las dos sublistas en una sola lista ordenada. Lista enlazada Doble Las listas doblemente enlazadas son estructuras de datos semejantes a las listas enlazadas simples. La asignacin de memoria es hecha al momento de la ejecucin.
En cambio, en relacin a la listas enlazada simple el enlace entre los elementos se hace gracias a dos punteros (uno que apunta hacia el elemento anterior y otro que apunta hacia el elemento siguiente). Lista Enlazada Simple Las listas doblemente enlazadas son estructuras de datos semejantes a las listas enlazadas simples. La asignacin de memoria es hecha al momento de la ejecucin.
En cambio, en relacin a la listas enlazada simple el enlace entre los elementos se hace gracias a dos punteros (uno que apunta hacia el elemento anterior y otro que apunta hacia el elemento siguiente). En cambio, mientras que en un array los elementos estn contiguos en la memoria, en una lista los elementos estn dispersos. El enlace entre los elementos se hace mediante un puntero. En realidad, en la memoria la representacin es aleatoria en funcin del espacio asignado.
El puntero siguiente del ltimo elemento debe apuntar hacia NULL (el fin de la lista).
Para acceder a un elemento, la lista es recorrida comenzando por el inicio, el puntero siguiente permite el desplazamiento hacia el prximo elemento. El desplazamiento se hace en una sola direccin, del primer al ltimo elemento. Si deseas desplazarte en las dos direcciones (hacia delante y hacia atrs) debers utilizar las [ listas doblemente enlazadas] Pilas: Una pila es una estructura de datos a la cual se puede acceder solo por un extremo de la misma. Las operaciones de insercin y extraccin se realizan a travs del tope, por lo cual no se puede acceder a cualquier elemento de la pila. Se la suele llamar estructura L.I.F.O.como acrnimo de las palabras inglesas "last in, first out" (ltimo en entrar, primero en salir). La pila se considera un grupo ordenado de elementos, teniendo en cuenta que el orden de los mismos depende del tiempo que lleven "dentro" de la estructura. Las pilas son frecuentemente utilizadas en el desarrollo de sistemas informticos y software en general. Por ejemplo, el sistema de soporte en tiempo de compilacin y ejecucin del Pascal utiliza una pila para llevar la cuenta de los parmetros de procedimientos y funciones, variables locales, globales y dinmicas. Este tipo de estructuras tambin son utilizadas para traducir expresiones aritmticas o cuando se quiere recordar una secuencia de acciones u objetos en el orden inverso del ocurrido. Colas: Una cola es una coleccin de elementos homogneos (almacenados en dicha estructura), en la misma se pueden insertar elementos por uno de los extremos, llamado frente, y retirar los mismos por el otro extremo, denominado final. Es importante aclarar que, tanto el frente como el final de la cola, son los nicos indicados para retirar e insertar elementos, respectivamente. Esto nos indica que no podemos acceder directamente a cualquier elemento de la cola, sino solo al primero, o sea el que est o se encuentra en el frente, y no se pueden insertar elementos en cualquier posicin sino solo por el final, as el elemento insertado queda como ltimo. Por esta razn la cola es denominada una estructura F.I.F.O., o simplemente una lista F.I.F.O., esto representa el acrnimo de las palabras inglesas first in, first out (primero en entrar, primero en salir).