You are on page 1of 6

ALGORITMOS DE BUSQUEDA

Nombre

: Nicole Pacheco Andrs Rifo Emilio Vera

Ramo Fecha

: Anlisis de Algoritmos : 29 de abril de 2013

Profesor(a) : Edgard Crcamo

INTRODUCCIN

Un algoritmo de bsqueda es aquel que est diseado para localizar un elemento concreto dentro de una estructura de datos. Consiste en solucionar un problema de existencia o no de un elemento determinado en un conjunto finito de elementos, es decir, si el elemento en cuestin pertenece o no a dicho conjunto, adems de su localizacin dentro de ste; por ejemplo, ubicar el registro correspondiente a cierta persona en una base de datos, o el mejor movimiento en una partida de ajedrez. La variante ms simple del problema es la bsqueda de un nmero en un vector. A continuacin, observaremos algunos algoritmos de bsqueda de informacin y ordenamiento.

DESARROLLO

CUL ES LA IMPORTANCIA DE LOS ALGORITMOS DE BSQUEDA?

Un algoritmo de bsqueda es el proceso de encontrar la ubicacin de un objetivo de entre una lista de objetos. En el caso de una lista, buscando los medios que le da un valor, queremos encontrar la ubicacin del primer elemento de la lista que contiene ese valor. Terminamos con xito la bsqueda cuando el elemento es encontrado. Es importante puesto que, con mucha frecuencia, los programadores trabajan con grandes cantidades de datos almacenados en arrays y registros, y por ello ser necesario determinar si un array contiene un valor que coincida con un cierto valor clave. El proceso de encontrar un elemento especfico de un array se denomina bsqueda.

CUL ES LA FORMA DE TRABAJAR DEL MTODO DE LA BURBUJA?

Este mtodo consiste en acomodar el vector moviendo el mayor hasta la ltima casilla comenzando desde la casilla cero del vector hasta haber acomodado el nmero ms grande en la ltima posicin, una vez acomodado el ms grande, prosigue a encontrar y acomodar el siguiente ms grande comparando de nuevo los nmeros desde el inicio del vector, y as sigue hasta ordenar todo los elementos el arreglo. El procedimiento de la burbuja es el siguiente:

Ir comparando desde la casilla 0 numero tras nmero hasta encontrar uno mayor, si este es realmente el mayor de todo el vector se llevar hasta la ltima casilla, si no es as, ser reemplazado por uno mayor que l. Este procedimiento seguir as hasta que haya ordenado todas las casillas del vector. Una de las deficiencias del algoritmo es que ya cuando ha ordenado parte del vector vuelve a compararlo cuando esto ya no es necesario. Ejemplo: Se desean ordenarse las siguientes clave del arreglo A: 15, 67, 08, 16, 44, 27, 12, 35 Primera pasada A[7] > A[8] 12>35 No hay intercambio A[6] > A[7] 27>12 Si hay intercambio A[5] > A[6] 44>12 Si hay intercambio A[4] > A[5] 16>12 Si hay intercambio A[3] > A[4] 08>12 No hay intercambio A[2] > A[3] 67>08 Si hay intercambio

A[1] > A[2] 15>08 Si hay intercambio Luego de la primera pasada el arreglo queda de la siguiente forma: A: 08, 15, 67, 12, 16, 44, 27, 35 Luego de la segunda pasada el arreglo queda de la siguiente forma: A:= 08, 12, 15, 67, 16, 27, 44, 35 Hasta la sptima pasada el arreglo queda ordenado: 08, 12, 15, 16, 27, 35, 44, 67 Ejemplo: http://www.youtube.com/watch?feaature=player_embedded&v=1JvYAXT_064#!

CREAR UNA TABLA COMPARATIVA ENTRE INSERCIN, QUICKSORT, MERGESORT, HEAPSORT Y ORDENACIN.

Insercion

quicksort

mergesort

heapsort

Se basa en intentar construir una lista ordenada en el interior del array a ordenar. Realiza una cantidad de comparaciones bastante equilibrada con respecto a los intercambios.

Es el ms pequeo de cdigo, ms rpido, ms elegante, ms interesante y eficiente de los algoritmos de ordenacin conocidos.

Dividir el grupo de datos en dos y ordenar por separado cada mitad.

Este algoritmo consiste en almacenar todos los elementos del vector a ordenar en un montculo (heap), y luego extraer el nodo que queda como nodo raz del montculo (cima) en sucesivas iteraciones obteniendo el conjunto ordenado.

ordenacion

Es un algoritmo sencillo de entender y de codicar.

Se basa en la divisin en particiones de la lista a ordenar, por lo que se puede considerar que aplica la tcnica divide y vencers.

Combina (intercala) dos estructuras previamente ordenadas.

Algoritmo de ordenacin no recursivo, no estable, con complejidad computacional.

Pone elementos de una lista o un vector en una secuencia dada por una relacin de orden. Facilita la busqueda posterior de los elementos de conjunto ordenado.

QU ES LA ORDENACIN LEXICOGRFICA Y CMO FUNCIONA?

El orden lexicogrfico es el que se utiliza para ordenar caracteres. Normalmente se diferencia entre letras maysculas y minsculas, y adems se consideran los nmeros y los signos de puntuacin. En los diccionarios se utiliza orden lexicogrfico, pero en ellos no se hace diferencia entre maysculas y minsculas. Consideremos dos secuencias de caracteres a = [a1a2...an] y b = [b1b2...bm]. Decimos que a < b si ambas secuencias tienen un prefijo comn de largo i, y el primer carcter diferente es ai+1 < bi+1 (merced < mercurio, porque e < u). El prefijo puede ser de longitud nula (perro < zorro, porque p < z). Si una secuencia es prefijo de la otra, decimos que la ms corta es la menor (seor < seora). El orden lexicogrfico no es igual al orden numrico. Si a = [19] y b = [138] tenemos que b < a, porque el prefijo es a1 = b1 = 1 y b2 = 3 < a2 = 9.

CONCLUSIN

Tenemos diferentes mtodos y algoritmos para hacer bsquedas, ya sean de datos en un array, en un vector o buscar caracteres y ordenarles de una manera especfica. Frecuentemente se utilizan algoritmos de bsqueda en nuestra vida diaria, aun cuando no nos demos cuenta, como es el caso de ocupar un diccionario para buscar una palabra, donde el diccionario utiliza el orden lexicogrfico para enlistar cada una de las palabras que lo componen y facilitar posteriores bsquedas. Otra gran razn de la importancia de los algoritmos de bsqueda es en la programacin, donde repetidamente se utilizan estos algoritmos para rescatar informacin de las bases de datos, para luego seguir con la normal lnea de trabajo de cada proyecto.

You might also like