Informe de Programacion
Informe de Programacion
ASIGNATURA
:
Fundamentos de Programacin
DOCENTE
:
Rosa Amrica
ALUMNO
:
MUOZ SEGURA Luis Enrique
CICLO
:
I
Aula
:
Lab N 20
Turno
:
Maana
Contenido
I.
MARCO TEORICO:........................................................................................... 4
MTODOS DE BSQUEDA:........................................................................... 4
Tipos de mtodos de bsqueda:....................................................................4
Mtodo de bsqueda secuencial:..................................................................4
Mtodo de bsqueda binaria:........................................................................4
Mtodos de ordenamiento:...........................................................................5
Tipos de ordenamiento:................................................................................ 6
1.2 ORDENAMIENTO INTERNO:.....................................................................6
1.2.1 Ordenamiento por intercambio (burbuja):................................................7
1.2.2 Algoritmo de burbuja mejorado:.............................................................7
1.3 MTODO DE SELECCIN:........................................................................8
1.4 MTODO DE INSERCIN:........................................................................8
1.5 ORDENACIN SHELL:............................................................................. 9
1.6 ORDENAMIENTO POR MEZCLA (MERGE SORT)......................................10
1.7 Ordenacin por particin e intercambio (Quick Sort):....................................11
1.7 Ordenacin basada en comparaciones (Heap Sort):....................................13
ORDENAMIENTO EXTERNO:.......................................................................13
1.2.1 Ordenacin por mezcla directa:...........................................................14
1.2.2 Ordenacin por mezcla equilibrada:.....................................................14
2. EJEMPLOS:................................................................................................ 15
3. CONCLUSIONES........................................................................................ 16
Bibliografa:.................................................................................................... 17
Resumen:
MARCO TEORICO:
MTODOS DE BSQUEDA:
Los mtodos de bsqueda nos permiten recuperar informacin de un
vector o un archivo, que contenga una lista de datos. Por ejemplo se
puede obtener el nombre y el nmero telefnico de nuestra agenda de
contactos o la nota obtenida por un alumno en la lista de un curso.
Cuando se realizan bsquedas sobre vectores, se desea es encontrar la
posicin que ocupa el elemento buscado dentro de la lista de elementos
que contiene el vector. Para la bsqueda de informacin en archivos es
necesario realizar la bsqueda a partir de un campo clave dentro del
archivo. Existen diferentes mtodos de bsqueda y se puede determinar
con cual mtodo trabajar dependiendo de la cantidad de elementos que
existan en el vector o la organizacin de dichos elementos.
Tipos de mtodos de bsqueda:
Mtodo de bsqueda secuencial:
Este mtodo se usa para buscar un elemento de un vector, es
explorar secuencialmente el vector, es decir; recorrer el vector desde
el prior elemento hasta el ltimo. Si se encuentra el elemento
buscado se debe visualizar un mensaje similar a Fin de Bsqueda
o Elemento encontrado y otro que diga posicin= en caso
contrario, visualizar un mensaje similar a Elemento no existe en la
Lista.
Este tipo de bsqueda compara cada elemento del vector con el
valor a encontrar hasta que este se consiga o se termine de leer el
vector completo.
Mtodo de bsqueda binaria:
Es un mtodo que se basa en la divisin sucesiva del espacio
ocupado por el vector en sucesivas mitades, hasta encontrar el
elemento buscado.
informacin,
para
poder
recuperar
esa
Los
mtodos
sencillos
por
lo
general
requieren
de
Se
ha
dicho
que
el
ordenamiento
puede
efectuarse
voidinsercion(int*v,intn)/***cdigoenC++***/
{
/*ordenamientodeinsercion*/
for(inti=1,j=0;i<n;i++){
inttem=v[i];
j=i1;
while(j>=0&&tem<v[j]){
v[j+1]=v[j];
j;
}
v[j+1]=tem;
}
}
inc = round(n/2)
mientras inc > 0 {
para i = inc hasta n 1 {
temp = a[i]
j=i
mientras j = inc && a[j - inc] > temp {
a[j] = a[j - inc]
j = j inc
}
a[j] = temp
}
inc = round(inc / 2.2)
}
El algoritmo es el siguiente:
1. Elegir un elemento de la lista de elementos a ordenar (pivote).
2. 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.
2. La lista queda separada en dos sub-listas, una formada por los
elementos a la izquierda del pivote, y otra por los elementos a su
derecha.
3. Repetir este proceso de forma recursiva para cada sub-lista mientras
stas contengan ms de un elemento. Una vez terminado este
proceso todos los elementos estarn ordenados.
que
se
principalmente
encuentran
depende
del
ordenadas,
pivote,
o
por
casi
ordenadas.
ejemplo
el
Pero
algoritmo
ORDENAMIENTO EXTERNO:
La ordenacin de archivos se lleva a cabo cuando el volumen de los
datos a tratar es demasiado grande y los mismos no caben en la
memoria principal de la computadora.
Al ocurrir esta situacin no pueden aplicarse los mtodos de ordenacin
interna, de modo que debe pensarse en otro tipo de algoritmos para
ordenar datos almacenados en archivos.
Por ordenacin de archivos se entiende, entonces, la ordenacin o
clasificacin de stos, ascendente o descendentemente, de acuerdo con
un campo determinado al que se denominar campo clave. La principal
desventaja de esta ordenacin es el tiempo de ejecucin, debido a las
sucesivas operaciones de entrada y salida.
2. EJEMPLOS:
Mtodo de bsqueda secuencial:
bsqueda
Mtodo de
binaria
Mtodo de seleccin:
Mtodo de insercin:
3. CONCLUSIONES:
Al realizar esta investigacin nos ayuda a conocer cada una de los tipos
de mtodos de bsqueda ya que al momento de hacer un programa
extenso podramos utilizar algunos de estos mtodos y as encontrar la
informacin ms rpida y no perder tanto tiempo.
Al comparar con las dems definiciones y funciones de cada de los
mtodos de bsqueda puede notar que este mtodo es ms eficiente y
entendible que los dems. Es el algoritmo conocido como quicksort
(ordenacin rpida) recibe el nombre de su autor, Tony Hoare.
La idea del algoritmo es simple, 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. El mtodo es, posiblemente, el ms pequeo de cdigo, ms
rpido, ms elegante y eficiente de los algoritmos de ordenacin
conocidos.
Bibliografa:
Y. Langsam, M. J. Augenstein, A. Tenenbaum. Data Structures using C and C++.
Prentice Hall,
Second edition. ISBN 0-13-036997-7.
http://en.wikipedia.org/wiki/Sorting_algorithm.