Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Metodos de Ordenacion y Busqueda
Metodos de Ordenacion y Busqueda
TERCER SEMESTRE
ALUMNA:
MARIA REMEDIOS RUIZ MANRIQUEZ
ASESOR:
INTRODUCCION
Ordenar significa recuperar o reorganizar un conjunto de datos
u objetos en una secuencia especifica.
Los mtodos de bsqueda nos permiten recuperar informacin
de un arreglo que contenga una lista de datos.
En este trabajo vamos a conocer algunos mtodos de
ordenamiento as como algoritmos de bsqueda. Y
encontraremos algunos ejemplos.
ORDENACION
POR
DIRECTO (BURBUJA)
INTERCAMBIO
(08>16)
(12>60)
(08>16)
(12>60)
(08>16)
(12>60)
(08>16)
no hay intercambio
si hay intercambio
si hay intercambio
si hay intercambio
no hay intercambio
si hay intercambio
si hay intercambio
ORDENACION
SHELL SORT
POR
EL
METODO
DE
RADIX
Se denomina ordenamiento de raz. Este mtodo consiste en ir ordenando
los datos de acuerdo a los valores de los dgitos reales en las
representaciones de posiciones de los nmeros que se ordenan. Un
ejemplo puede ser el 323 que se anota el 3 en la posicin de las centenas,
el 2 en las decenas y el 3 en las unidades.
Veamos un ejemplo: 14, 12, 23, 1, 45
INTERCALACION
7
Este mtodo es el que generalmente utilizan los jugadores de cartas
cuando las ordenan, por ello tambin podemos nombrarlo como mtodo
de la baraja.
Este mtodo consiste en insertar un elemento del arreglo en la parte
izquierda del mismo, que ya se encuentra ordenada. Este proceso es
repetido desde el segundo hasta el n-simo elemento.
EJEMPLO
Se desea ordenar el siguiente arreglo:
14, 66, 7, 15, 43, 26, 11, 34
Se realizar las siguientes comparaciones:
PRIMERA PASADA
A [2] <A [1]
(66<14)
A: 14 66 7 15 43 26 11 34
SEGUNDA PASADA
A [3] <A [2]
A [2] <A [1]
(7<66)
(7<14)
si hay intercambio
si hay intercambio
A: 14 66 7 15 43 26 11 34
TERCERA PASADA
A [4] <A [3]
A [3] <A [2]
(15<66)
(15<14)
si hay intercambio
no hay intercambio
8
ejecucin es mayor. Pero se podra decir que este mtodo es ms eficiente
que los mtodos de intercambio como el burbuja.
MEZCLA
DIRECTA
ESPOSICION)
(TEMA
DE
Ventajas:
Buena complejidad
Desventaja:
Consume mucha memoria: Hecho comn a todos los algoritmos de
ordenacin externa.
Es demasiado el tiempo de ejecucin, debido a las sucesivas
operaciones de lectura y escritura a/del archivo.
MEZCLA NATURAL
10
BUSQUEDA SECUENCIAL
Este mtodo consiste en revisar
elemento
por
elemento
hasta
encontrar el dato buscado, o hasta
llegar al final de la lista de datos
disponibles.
Esta bsqueda cuando se realizar en
arreglos desordenados lo nico que
se realiza es recorrer el arreglo hasta
encontrar el dato buscado o se
termine el arreglo.
La
bsqueda
secuencial
para
arreglos ordenados es similar solo que
en esta es conveniente agregar una
condicin que hace ms eficiente el
mtodo. Esta condicin nos consiste
en comparar los arreglos que como
ya estn ordenados si el dato
buscado es mayor q primer dato y
menor que el segundo dato entonces
el numero no se encuentra en el vector.
11
BUSQUEDA BINARIA
El algoritmo consiste en dividir el intervalo de bsqueda en dos partes,
comparando el elemento buscado con el central. En caso de no ser
iguales se redefinen los extremos del intervalo segn si el elemento central
sea mayor o menor que el buscado. Disminuyendo el espacio de
bsqueda. El proceso termina cuando el elemento es encontrado o
cuando el intervalo de bsqueda se anula.
Este mtodo es ms eficiente que el de bsqueda secuencia ya que
realiza menos movimientos al momento de dividir el elemento entre dos
mientras que el secuencial realiza todo el recorrido sobre el arreglo.
PROGRAMACION
Datos de entrada:
vec: vector en el que se desea buscar el dato
tam: tamao del vector. Los subndices vlidos van desde 0 hasta tam-1
inclusive.
dato: elemento que se quiere buscar.
Variables
pos: posicin actual en el arreglo
pos = 0
Mientras pos < tam:
Si vec[pos] == dato devolver verdadero y/o pos, de lo contrario:
pos = pos + 1
Fin (Mientras)
Devolver falso,
12
13
13000000 --> 100
12345678 --> 138
13602499 --> 169
71140205 --> 715
73162135 --> 715
Plegamiento: Consiste en dividir el nmero en diferentes partes, y
operar con ellas (normalmente con suma o multiplicacin). Tambin se
produce colisin. Por ejemplo, si dividimos los nmeros de 8 cifras en 3, 3 y 2
cifras y se suman, dar otro nmero de tres cifras (y si no, se cogen las tres
ltimas cifras):
13000000 --> 130=130+000+00
12345678 --> 657=123+456+78
71140205 --> 118 --> 1118=711+402+05
13602499 --> 259=136+024+99
25000009 --> 259=250+000+09
Tratamiento de colisiones: Pero ahora se nos presenta el problema
de qu hacer con las colisiones, qu pasa cuando a dos elementos
diferentes les corresponde el mismo ndice. Pues bien, hay tres posibles
soluciones:
Cuando el ndice correspondiente a un elemento ya est ocupado, se le
asigna el primer ndice libre a partir de esa posicin. Este mtodo es poco
eficaz, porque al nuevo elemento se le asigna un ndice que podr estar
ocupado por un elemento posterior a l, y la bsqueda se ralentiza, ya que
no se sabe la posicin exacta del elemento.
Tambin se pueden reservar unos cuantos lugares al final del arreglo para
alojar a las colisiones. Este mtodo tambin tiene un problema: Cunto
espacio se debe reservar? Adems, sigue la lentitud de bsqueda si el
elemento a buscar es una colisin.
Lo ms efectivo es, en vez de crear un arreglo de nmero, crear un arreglo
de punteros, donde cada puntero seala el principio de una lista
enlazada. As, cada elemento que llega a un determinado ndice se pone
en el ltimo lugar de la lista de ese ndice. El tiempo de bsqueda se
reduce considerablemente, y no hace falta poner restricciones al tamao
del arreglo, ya que se pueden aadir nodos dinmicamente a la lista.
CONCLUSION
14