Está en la página 1de 20

DEFINICION:

La filosofa de este mtodo es ir comparando los elementos del array de 2 en 2 y si no estn colocados correctamente intercambiarlos . As hasta que tengamos el array ordenado. Hay que comparar la posicin 1 y la 2 y si no estn ordenados las intercambias .luego la 2 y la 3 y as sucesivamente hasta que comparo las ultimas posiciones . Con esta primera pasada lograremos que quede ordenado el ultimo elemento del array.

Un ejemplo Vamos a ver un ejemplo. Esta es nuestra lista: 4-3-5-21 Tenemos 5 elementos. Es decir, TAM toma el valor 5. Comenzamos comparando el primero con el segundo elemento. 4 es mayor que 3, as que intercambiamos. Ahora tenemos: 3-4-5-2-1 Ahora comparamos el segundo con el tercero: 4 es menor que 5, as que no hacemos nada. Continuamos con el tercero y el cuarto: 5 es mayor que 2. Intercambiamos y obtenemos: 3-4-2-5-1 Comparamos el cuarto y el quinto: 5 es mayor que 1. Intercambiamos nuevamente:

3-4-2-1-5 Repitiendo este proceso vamos obteniendo los siguientes resultados:


3-2-1-4-5 2-1-3-4-5 1-2-3-4-5

DEFINICION: Se supone que se tiene un segmento inicial del array ordenado , y hay que ir aumentando la longitud de segmento hasta que coincide con la longitud del array . Para ello insertaremos el siguiente elemento del segmento ordenado a la derecha hasta que se encuentre uno o menor o igual al elemento que queremos colocar en el segmento o hasta que no tenemos elementos, y lo coloco en esa posicin. Para arrancar este mtodo se parte de que el segmento ordenado inicial este es la primera posicin.

APLICACIN DEL METODO

Puede usarse fcilmente para ordenar un mazo de cartas numeradas en forma arbitraria.

Supongamos que tengamos una lista de cartas elegidas al azar ? 4-3-5-2-1 temp toma el valor del segundo elemento, 3. La primera carta es el 4. Ahora comparamos: 3 es menor que 4. Luego desplazamos el 4 una posicin a la derecha y despus copiamos el 3 en su lugar. 4-4-5-2-1 3-4-5-2-1 El siguiente elemento es 5. Comparamos con 4. Es mayor que 4, as que no ocurren intercambios. Continuamos con el 2. Es menor que cinco: desplazamos el 5 una posicin a la derecha: 3-4-5-5-1 Comparamos con 4: es menor, as que desplazamos el 4 una posicin a la derecha: 3-4-4-5-1 Comparamos con 3. Desplazamos el 3 una posicin a la derecha: 3-3-4-5-1 Finalmente copiamos el 2 en su posicin final: 2-3-4-5-1 El ltimo elemento a ordenar es el 1. Cinco es menor que 1, as que lo desplazamos una posicin a la derecha: 2-3-4-5-5 Continuando con el procedimiento la lista va quedando as: 2-3-4-4-5 2-3-3-4-5 2-2-3-4-5

Mtodos

de Ordenamiento, Seleccin y bsqueda

Procedimiento Selection Short: Algoritmo que ubica elementos de un arreglo, en una secuencia, dada por una relacin de orden. Buscar el mnimo elemento entre una posicin i y el final de la lista. Intercambiar el mnimo con el elemento de la posicin i. Su implementacin es con ciclos anidados.

Es decir se recorre el arreglo , selecciona el elemento menor y se intercambia este elemento con el de la primera posicin. En la siguiente pasada se hace lo mismo, pero ahora se busca desde la segunda posicin hasta el final el menor. Se intercambia este menor con la que esta en la segunda posicin. Se repite para las siguientes posiciones, hasta la posicin(n-1).

Para i=1 hasta n-1 mnimo =i; para j=i+1 hasta n Si lista[j]<lista[mnimo] entonces mnimo= j Fin si Fin para Intercambiar (lista[i], lista[mnimo]) Fin para

#include <iostream.h> #include <conio.h> void Quicksort(int arr, int izq, int der) {int i = izq, j = der, tmp; int p = arr[(izq + der) / 2]; while (i <= j) {while (arr[i] < p) i++; while (arr[j] > p) j--; if (i <= j) {tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp; i++; j--; }} if (izq < j) Quicksort(arr, izq, j); if (i < der) Quicksort(arr, i, der);} int main() {int arreglo[10] = { 44, 3, 67, 23, 78, 5, 0, 1, 21, 99}; Quicksort(arreglo, 0, 9); for(int i = 0; i < 10; i++) cout << arreglo[i] << " "; getch(); return 0;}

La bsqueda es el proceso de localizar un valor determinado que se encuentra en un conjunto de elementos.

Bsqueda Secuencial o Lineal:


La bsqueda secuencial es la tcnica ms

simple para buscar un elemento en un arreglo. El mtodo de bsqueda lineal funciona bien con arreglos pequeos o para arreglos no ordenados.

Bsqueda Binaria:
La bsqueda binaria es el mtodo ms

eficiente para encontrar elementos en un arreglo ordenado. El proceso comienza comparando el elemento central del arreglo con el valor buscado. Si ambos coinciden finaliza la bsqueda.

También podría gustarte