Documente Academic
Documente Profesional
Documente Cultură
MTODOS DE ORDENAMIENTO Y
BUSQUEDA
Profesor:
Bachilleres:
Ingeniera de Sistemas
Laura Moreno
Jos Rodriguez CI
Sanjiv Seeram
Febrero de 2015
CI 21.384.237
CI 24.851.280
INDICE
Pg.
Introduccin -
Vectores
Matrices
Mtodo de Ordenamiento -
11
Conclusin -
21
Bibliografa -
22
Mtodo de Bsqueda
INTRODUCCIN
Muchas actividades humanas requieren que en ellas las diferentes
colecciones de elementos utilizados se coloquen en un orden especfico. Las
oficinas de correo y las empresas de mensajera ordenan el correo y los
paquetes por cdigos postales con el objeto de conseguir una entrega
eficiente; los anuarios o listines telefnicos ordenan sus clientes por orden
alfabtico de apellidos con el fin ltimo de encontrar fcilmente el nmero de
telfono deseado; los estudiantes de una clase en la universidad se ordenan
por sus apellidos o por los nmeros de expediente, etc. Por esta
circunstancia una de las tareas que realizan ms frecuentemente las
computadoras en el procesamiento de datos es la ordenacin. El estudio de
diferentes mtodos de ordenacin es una tarea intrnsecamente interesante
desde un punto de vista terico y, naturalmente, prctico
La optimizacin de un algoritmo se obtiene cuando se hace la eleccin
correcta de algoritmo y estructura de datos, esto hace referencia al anlisis
cuidadoso de su desempeo para analizar las fallas y concebir mejoras antes
de llevarlos a la ejecucin de los mismos en una computadora. El objetivo de
estudiar los algoritmos de ordenamiento es doble. Primero, porque permite
ejemplificar la importancia del estudio de la eficiencia de los algoritmos,
mostrando que no es intuitivo predecir cunto tiempo de ejecucin toman.
Y segundo, porque los computadores pasan tpicamente 50% de su tiempo
ordenando (de ah que los espaoles y franceses prefieren usar la palabra
ordenador en vez de computador).
1) Vectores
Como su nombre lo indica matemticamente es una herramienta para
poder expresar varios valores o magnitudes al mismo tiempo. En
programacin
son
considerados
estructuras
de
datos
arreglos
Valor 5 = 13
Valor 6 = 14
2) Matrices
Una matriz es una estructura de datos que contiene varias variables del
mismo tipo. Bsicamente es un conjunto de vectores. Una matriz puede ser
unidimensional, multidimensional o escalonada.
Declaracin de una Matriz
C++:
Tipo de dato nombre de la matriz [numero de filas][numero de
columnas]={elementos...}
3) Mtodos de Ordenamiento
Ordenamiento
Es la operacin de arreglar los registros de una tabla en algn orden
secuencial de acuerdo a un criterio de ordenamiento. El ordenamiento se
efecta con base en el valor de algn campo en un registro. El propsito
principal de un ordenamiento es el de facilitar las bsquedas de los
miembros del conjunto ordenado.
El ordenar un grupo de datos significa mover los datos o sus referencias para
que queden en una secuencia tal que represente un orden, el cual puede ser
numrico, alfabtico o incluso alfanumrico, ascendente o descendente.
- Burbujeo
Tipos de Ordenamiento:
Mtodos Elementales:
Descripcin.
o
Ventajas:
1. Fcil implementacin.
2. No requiere memoria adicional.
caso.
Desventajas:
1. Lento.
2. Realiza numerosas comparaciones.
Descripcin.
El algoritmo de ordenacin por el mtodo de insercin directa es un
algoritmo relativamente sencillo y se comporta razonablemente bien en gran
cantidad de situaciones.
Completa la tripleta de los algoritmos de ordenacin ms bsicos y de
orden de complejidad cuadrtico, junto con SelectionSort y BubbleSort.
Se basa en intentar construir una lista ordenada en el interior del array a
ordenar.
De estos tres algoritmos es el que mejor resultado da a efectos
prcticos. Realiza una cantidad de comparaciones bastante equilibrada con
respecto a los intercambios, y tiene un par de caractersticas que lo hacen
aventajar a los otros dos en la mayor parte de las situaciones.
Este algoritmo se basa en hacer comparaciones, as que para que
realice su trabajo de ordenacin son imprescindibles dos cosas: un array o
estructura similar de elementos comparables y un criterio claro de
comparacin, tal que dados dos elementos nos diga si estn en orden o no.
En cada iteracin del ciclo externo los elementos 0 a i, forman una
lista ordenada.
Ventajas:
1. Fcil implementacin.
2. Requerimientos mnimos de memoria.
Desventajas:
1. Lento.
2. Realiza numerosas comparaciones.
Este tambin es un algoritmo lento, pero puede ser de utilidad para listas que
estn ordenadas o semiordenadas, porque en ese caso realiza muy pocos
desplazamientos.
METODO DE LA BURBUJA
Descripcin.
La idea bsica del ordenamiento de la burbuja es recorrer el conjunto
de elementos en forma secuencial varias veces. Cada paso compara un
elemento del conjunto con su sucesor (x[i] con x[i+i]), e intercambia los dos
elementos si no estn en el orden adecuado.
Mtodos No Elementales:
Descripcin.
El mtodo Shell es una versin mejorada del mtodo de insercin directa.
Este mtodo tambin se conoce con el nombre de insercin con incrementos
crecientes. En el mtodo de ordenacin por insercin directa cada elemento
se compara para su ubicacin correcta en el arreglo, con los elementos que
se encuentran en la parte izquierda del mismo. Si el elemento a insertar es
ms pequeo que el grupo de elementos que se encuentran a su izquierda,
es necesario efectuar entonces varias comparaciones antes de su ubicacin.
Descripcin.
El ordenamiento por particin (Quick Sort) se puede definir en una
forma ms conveniente como un procedimiento recursivo.
Tiene aparentemente la propiedad de trabajar mejor para
elementos de entrada desordenados completamente, que para elementos
semiordenados.
Esta
situacin
ordenamiento de burbuja.
es
precisamente
la
opuesta
al
Descripcin.
Mediante el enfoque de Dividir y conquistar, este algoritmo divide el
arreglo inicial en dos arreglos donde cada uno contiene la mitad de los datos
(partes iguales mas o menos uno), y se ordenan mediante sucesivos
llamados recursivos para luego fusionar los resultados en el arreglo inicial.
Este algoritmo se basa en una funcin que permite mezclar dos
vectores ordenados, produciendo como resultado un tercer vector ordenado
que contiene los elementos de los dos vectores iniciales, el cual tiene una
Complejidad:
Cada algoritmo de ordenamiento por definicin tiene operaciones y
clculos mnimos y mximos que realiza (complejidad), a continuacin una
tabla que indica la cantidad de clculos que corresponden a cada mtodo de
ordenamiento:
Algoritmo
Operaciones mximas
Burbuja
(n)
Insercin
(n/4)
Seleccin
(n)
Shell
(n logn)
Merge
(n logn)
Quick
4) Mtodo de Bsqueda.
La bsqueda es una operacin que tiene por objeto la localizacin de un
elemento dentro de la estructura de datos. A menudo un programador estar
trabajando con grandes cantidades de datos almacenados en arreglos y
Bsqueda Secuencial:
La bsqueda secuencial es la tcnica ms simple para buscar un
elemento en un arreglo. Consiste en recorrer el arreglo elemento a elemento
e ir comparando con el valor buscado (clave). Se empieza con la primera
casilla del arreglo y se observa una casilla tras otra hasta que se encuentra
el elemento buscado o se han visto todas las casillas. El resultado de la
bsqueda es un solo valor, y ser la posicin del elemento buscado o cero.
Dado que el arreglo no est en ningn orden en particular, existe la misma
probabilidad de que el valor se encuentra ya sea en el primer elemento,
como en el ltimo. Por lo tanto, en promedio, el programa tendr que
comparar el valor buscado con la mitad de los elementos del arreglo.
El mtodo de bsqueda lineal funciona bien con arreglos pequeos o para
arreglos no ordenados. Si el arreglo est ordenado, se puede utilizar la
tcnica de alta velocidad de bsqueda binaria, donde se reduce
sucesivamente la operacin eliminando repetidas veces la mitad de la lista
restante.
Bsqueda Binaria:
La bsqueda binaria es el mtodo ms eficiente para encontrar elementos
en un arreglo ordenado. El proceso comienza comparando el elemento
CONCLUSIN
Segn lo observado decimos que, en las condiciones anteriormente
mencionadas, el mtodo de Burbujas es aqul con mayor tiempo de
ejecucin a medida que el valor de N se incrementa, con lo cual se ve que es
el ms ineficiente de todos, pero cabra cuestionarse aqu porque es el
mtodo ms utilizado, y la respuesta estara en la fcil comprensin del
mismo, tanto en la codificacin como en su forma de ordenacin. Si bien con
los mtodos de Insercin y Seleccin se nota una mejora en los tiempos de
ejecucin, es el mtodo Shell quien presenta el mejor rendimiento debido a
que es una modificacin de los mtodos de Insercin y Seleccin, ya que
realiza saltos grandes que permiten ordenaciones mltiples. Esto se ve
claramente demostrado en las pruebas de tiempo.
Ahora bien todo cambia cuando hablamos de los mtodos Quick Sort
y Counting Sort, claramente se observa que ambos en prueba de tiempo son
altamente eficientes y rpidos en comparacin al resto. Pero hay que hacer
una salvedad, dndose cuenta la propia limitacin que posee el Counting
Sort de que solamente ordena nmeros enteros positivos, y lo favorable que
es el Quick Sort que puede ordenar cualquier elemento que integre la lista o
el vector.
BIBLIOGRAFA
http://iutprogramacion.blogspot.com/2013/02/metodos-de-
ordenamiento.html
http://es.wikipedia.org/wiki/Algoritmo_de_ordenamiento.Fecha de
Consulta: 06/02/2015
Jorge Prez Ph. D. Student Department of Computer Science.
http://novella.mhhe.com/sites/dl/free/844814077x/619434/A06.pdf.
Fecha de Consulta: 06/02/2015
Julio Csar Lpez. Ordenamiento en Tiempo Lineal.
http://lobishomen.files.wordpress.com/2011/01/libropre3.pdf. Fecha de
Consulta: 08/02/2015
Fernando A. Lagos B. Algoritmos de Ordenamiento Informe de
Ordenamiento. Ao 2007.
http://blog.zerial.org/ficheros/Informe_Ordenamiento.pdf. Fecha de
Consulta: 09/02/2015