SlideShare uma empresa Scribd logo
1 de 12
DIRECCIÓN GENERAL DE EDUCACIÓN SUPERIOR TECNOLÓGICA 
INSTITUTO TECNOLÓGICO DE SALINA CRUZ 
MATERIA 
ESTRUCTURA Y ORGANIZACIÓN DE DATOS 
TEMA 
ACTIVIDAD 1 UNIDAD 4 
TRABAJO: 
INVESTIGAR LOS DIVERSOS ALGORITMOS DE LOS MÉTODOS DE 
ORDENAMIENTO, BÚSQUEDA Y RECUPERACIÓN DE DATOS 
PROFESORA 
SUSANA MONICA ROMAN NAJERA 
ALUMNO 
JOSE MANUEL FLORES RAMOS 
CARRERA 
ING. EN TIC´S 
SEMESTRE 
3 E3
INTRODUCCION 
Los algoritmos de ordenamiento nos permiten, ordenar vectores o 
matrices con valores asignados aleatoriamente. Nos centraremos 
en los métodos más populares, analizando la cantidad de 
comparaciones que suceden, el tiempo que demora y revisando el 
código, escrito en Java, de cada algoritmo. 
Esta investigación nos permitirá conocer más a fondo cada 
método distinto de ordenamiento, desde uno simple hasta el más 
complejo. Se realizaran comparaciones en tiempo de ejecución, 
pre-requisitos de cada algoritmo, funcionalidad, alcance, etc.
METODOS DE ORDENAMIENTO [JAVA] 
¿Qué es ordenamiento? 
Es la operación de arreglar los registros de una tabla en algún orden secuencial de 
acuerdo a un criterio de ordenamiento. 
El ordenamiento se efectúa con base en el valor de algún campo en un registro. 
El propósito principal de un ordenamiento es el de facilitar las búsquedas de los 
miembros del conjunto ordenado. 
Ej. De ordenamientos: 
Dir. Telefónico, tablas de contenido, bibliotecas y diccionarios, etc. 
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 
numérico, alfabético o incluso alfanumérico, ascendente o descendente. 
Cuándo conviene usar un método de ordenamiento? 
Cuando se requiere hacer una cantidad considerable de búsquedas y es 
importante el factor tiempo. 
Tipos de ordenamientos: 
Los 2 tipos de ordenamientos que se pueden realizar son: los internos y los 
externos. 
 Los internos: Son aquellos en los que los valores a ordenar están en 
memoria principal, por lo que se asume que el tiempo que se requiere para 
acceder cualquier elemento sea el mismo (a [1], a [500], etc.). 
 Los externos: Son aquellos en los que los valores a ordenar están en 
memoria secundaria (disco, cinta, cilindro magnético, etc.), por lo que se 
asume que el tiempo que se requiere para acceder a cualquier elemento 
depende de la última posición accesada (posición 1, posición 500, etc.). 
Eficiencia en tiempo de ejecución:
Una medida de eficiencia es: 
Contar el # de comparaciones (C) 
Contar el # de movimientos de items (M) 
Estos están en función del #(n) de items a ser ordenados. 
Un "buen algoritmo" de ordenamiento requiere de un orden nlogn comparaciones. 
La eficiencia de los algoritmos se mide por el número de comparaciones e 
intercambios que tienen que hacer, es decir, se toma n como el número de 
elementos que tiene el arreglo o vector a ordenar y se dice que un algoritmo 
realiza O(n2) comparaciones cuando compara n veces los n elementos, n x n = n2 
Algoritmos de ordenamiento: 
Internos: 
1. Inserción directa. 
2. Inserción binaria. 
3. Inserción directa. 
1. Selección directa. 
2. Selección directa. 
1. Burbuja. 
4. Intercambio directo. 
1. Shell. 
5. Inserción disminución incremental. 
1. Heap. 
2. Tournament. 
6. Ordenamiento de árbol. 
1. Quick sort. 
Clasificación de los algoritmos de ordenamiento de información: 
El hecho de que la información está ordenada, nos sirve para poder encontrarla y 
accesarla de manera más eficiente ya que de lo contrario se tendría que hacer de 
manera secuencial.
A continuación se describirán 4 grupos de algoritmos para ordenar información: 
Algoritmos de inserción: 
En este tipo de algoritmo los elementos que van a ser ordenados son 
considerados uno a la vez. Cada elemento es INSERTADO en la posición 
apropiada con respecto al resto de los elementos ya ordenados. 
Entre estos algoritmos se encuentran el de INSERCION DIRECTA, SHELL SORT, 
INSERCION BINARIA y HASHING. 
Algoritmos de intercambio: 
En este tipo de algoritmos se toman los elementos de dos en dos, se comparan y 
se INTERCAMBIAN si no están en el orden adecuado. Este proceso se repite 
hasta que se ha analizado todo el conjunto de elementos y ya no hay 
intercambios. 
Entre estos algoritmos se encuentran el BURBUJA y QUICK SORT. 
Algoritmos de selección: 
En este tipo de algoritmos se SELECCIONA o se busca el elemento más pequeño 
(o más grande) de todo el conjunto de elementos y se coloca en su posición 
adecuada. Este proceso se repite para el resto de los elementos hasta que todos 
son analizados. 
Entre estos algoritmos se encuentra el de SELECCION DIRECTA. 
Algoritmos de enumeración: 
En este tipo de algoritmos cada elemento es comparado contra los demás. En la 
comparación se cuenta cuántos elementos son más pequeños que el elemento 
que se está analizando, generando así una ENUMERACION. El número generado 
para cada elemento indicará su posición. 
Los métodos simples son: Inserción (o por inserción directa), selección, burbuja y 
Shell, en dónde el último es una extensión al método de inserción, siendo más 
rápido. Los métodos más complejos son el quick-sort (ordenación rápida) y el 
heap sort. 
A continuación se mostrarán los métodos de ordenamiento más simples. 
METODO DE INSERCIÓN. 
Este método toma cada elemento del arreglo para ser ordenado y lo compara con 
los que se encuentran en posiciones anteriores a la de él dentro del arreglo. Si 
resulta que el elemento con el que se está comparando es mayor que el elemento 
a ordenar, se recorre hacia la siguiente posición superior. Si por el contrario,
resulta que el elemento con el que se está comparando es menor que el elemento 
a ordenar, se detiene el proceso de comparación pues se encontró que el 
elemento ya está ordenado y se coloca en su posición (que es la siguiente a la del 
último número con el que se comparó). 
Procedimiento Insertion Sort 
Este procedimiento recibe el arreglo de datos a ordenar a [] y altera las posiciones 
de sus elementos hasta dejarlos ordenados de menor a mayor. N representa el 
número de elementos que contiene a []. 
Paso 1: [Para cada pos. del arreglo] For i <- 2 to N do 
Paso 2: [Inicializa v y j] v <- a[i] 
j <- i. 
Paso 3: [Compara v con los anteriores] While a[j-1] > v AND j>1 do 
Paso 4: [Recorre los datos mayores] Set a[j] <- a[j-1], 
Paso 5: [Decremento j] set j <- j-1. 
Paso 5: [Inserta v en su posición] Set a[j] <- v. 
Paso 6: [Fin] End. 
Ejemplo: 
Si el arreglo a ordenar es a = ['a','s','o','r','t','i','n','g','e','x','a','m','p','l','e'], el algoritmo 
va a recorrer el arreglo de izquierda a derecha. Primero toma el segundo dato 's' y 
lo asigna a v y i toma el valor de la posición actual de v. 
Luego compara esta 's' con lo que hay en la posición j-1, es decir, con 'a'. Debido 
a que 's' no es menor que 'a' no sucede nada y avanza i. 
Ahora v toma el valor 'o' y lo compara con 's', como es menor recorre a la 's' a la 
posición de la 'o'; decremento j, la cual ahora tiene la posición en dónde estaba la 
's'; compara a 'o' con a [j-1], es decir, con 'a'. Como no es menor que la 'a' sale del 
for y pone la 'o' en la posición a[j]. El resultado hasta este punto es el arreglo 
siguiente: a = ['a','o','s','r',....] 
Así se continúa y el resultado final es el arreglo ordenado: 
a = ['a','a','e','e','g','i','l','m','n','o','p','r','s','t','x'] 
MÉTODO DE SELECCIÓN. 
El método de ordenamiento por selección consiste en encontrar el menor de todos 
los elementos del arreglo e intercambiarlo con el que está en la primera posición.
Luego el segundo más pequeño, y así sucesivamente hasta ordenar todo el 
arreglo. 
Procedimiento Selection Sort 
Paso 1: [Para cada pos. del arreglo] For i <- 1 to N do 
Paso 2: [Inicializa la pos. del menor] menor <- i 
Paso 3: [Recorre todo el arreglo] For j <- i+1 to N do 
paso 4: [Si a[j] es menor] If a[j] <> 
paso 5: [Reasigna el apuntador al menor] min = j 
Paso 6: [Intercambia los datos de la pos. 
min y posición i] Swap(a, min, j). 
Paso 7: [Fin] End. 
Ejemplo: 
El arreglo a ordenar es a = ['a','s','o','r','t','i','n','g','e','x','a','m','p','l','e']. 
Se empieza por recorrer el arreglo hasta encontrar el menor elemento. En este 
caso el menor elemento es la primera 'a'. De manera que no ocurre ningún 
cambio. Luego se procede a buscar el siguiente elemento y se encuentra la 
segunda 'a'. 
Esta se intercambia con el dato que está en la segunda posición, la 's', quedando 
el arreglo así después de dos recorridos: a = 
['a','a','o','r','t','i','n','g','e','x','s','m','p','l','e']. 
El siguiente elemento, el tercero en orden de menor mayor es la primera 'e', la cual 
se intercambia con lo que está en la tercera posición, o sea, la 'o'. Le sigue la 
segunda 's', la cual es intercambiada con la 'r'. 
El arreglo ahora se ve de la siguiente manera: a = 
['a','a','e','e','t','i','n','g','o','x','s','m','p','l','r']. 
De esta manera se va buscando el elemento que debe ir en la siguiente posición 
hasta ordenar todo el arreglo. 
El número de comparaciones que realiza este algoritmo es: 
Para el primer elemento se comparan n-1 datos, en general para el elemento i-ésimo 
se hacen n-i comparaciones, por lo tanto, el total de comparaciones es: 
la sumatoria para i de 1 a n-1 (n-i) = 1/2 n (n-1).
METODOS ITERATIVOS 
Estos métodos son simples de entender y de programar ya que son iterativos, 
simples ciclos y sentencias que hacen que el vector pueda ser ordenado. 
Dentro de los Algoritmos iterativos encontramos: 
 · Burbuja 
 · Inserción 
 · Selección 
 · Shellsort 
METODOS RECURSIVOS 
Estos métodos son aún más complejos, requieren de mayor atención y 
conocimiento para ser entendidos. Son rápidos y efectivos, utilizan generalmente 
la técnica Divide y vencerás, que consiste en dividir un problema grande en varios 
pequeños para que sea más fácil resolverlos. 
Mediante llamadas recursivas a sí mismas, es posible que el tiempo de ejecución 
y de ordenación sea más óptimo. 
Dentó de los algoritmos recursivos encontramos: 
 Ordenamiento por Mezclas (merge) 
 Ordenamiento Rápido (quick) 
METODO BURBUJA 
Public static void burbuja (int [] matrix) { 
Int temp; 
for (int i=1; i < matrix. Length; i++) { 
for (int j=0; j < matrix. Length- 1; j++) { 
if (matrix[j] > matrix [j+1]) { 
temp = matrix[j]; 
matrix[j] = matrix [j+1]; 
matrix [j+1] = temp; 
} 
} 
} 
}
METODO INSERCION 
public static void Insercion (int[] vector) { 
for (int i=1; i < vector.length; i++) { 
int aux = vector[i]; 
int j; 
for (j=i-1; j > =0 && vector[j] > aux; j--){ 
vector[j+1] = vector[j]; 
} 
vector[j+1] = aux; 
} 
} 
METODO SELECCIÓN 
public static void Seleccion(int[]matrix){ 
int i, j, k, p, buffer, limit = matrix.length-1; 
for(k = 0; k < limit; k++){ 
p = k; 
for(i = k+1; i < = limit; i++){ 
if(matrix[i] < matrix[p]) p = i; 
if(p != k){ 
buffer = matrix[p]; 
matrix[p] = matrix[k]; 
matrix[k] = buffer; 
} 
} 
} 
} 
METODO SHELL SHORT 
public static void shellSort(int[] matrix) { 
for ( int increment = matrix.length / 2;increment > 0; 
increment = (increment == 2 ? 1 : (int) Math.round(increment / 
2.2))) { 
for (int i = increment; i < matrix.length; i++) { 
for (int j = i; j > = increment && matrix[j - increment] > 
matrix[j]; j -= increment) { 
int temp = matrix[j]; 
matrix[j] = matrix[j - increment]; 
matrix[j - increment] = temp; 
} 
} 
}}
ORDENAMIENTO POR MEZCLAS (MERGE) 
El algoritmo de ordenamiento por mezcla (Merge) se divide en dos procesos, primero 
se divide en partes iguales la lista: 
public static void mergesort(int[ ] matrix, int init, int n){ 
int n1; 
int n2; 
if (n > 1){ 
n1 = n / 2; 
n2 = n - n1; 
mergesort(matrix, init, n1); 
mergesort(matrix, init + n1, n2); 
merge(matrix, init, n1, n2); 
} 
} 
Y el algoritmo que nos permite mezclar los elementos según corresponda: 
private static void merge(int[ ] matrix, int init, int n1, int n2){ 
int[ ] buffer = new int[n1+n2]; 
int temp = 0; 
int temp1 = 0; 
int temp2 = 0; 
int i; 
while ((temp1 < n1) && (temp2 < n2)){ 
if (matrix[init + temp1] < matrix[init + n1 + temp2]){ 
buffer[temp++] = matrix[init + (temp1++)]; 
}else{ 
buffer[temp++] = matrix[init + n1 + (temp2++)]; 
} 
} 
while (temp1 < n1){ 
buffer[temp++] = matrix[init + (temp1++)]; 
} 
while (temp2 < n2){ 
buffer[temp++] = matrix[init + n1 + (temp2++)]; 
} 
for (i = 0; i < n1+n2; i++){ 
matrix[init + i] = buffer[i]; 
} 
} 
ORDENAMIENTO RAPIDO 
public static void Rapido(int matrix[], int a, int b){ 
matrix = new int[matrix.length]; 
int buf; 
int from = a; 
int to = b; 
int pivot = matrix[(from+to)/2]; 
do{
while(matrix[from] < pivot){ 
from++; 
} 
while(matrix[to] > pivot){ 
to--; 
} 
if(from < = to){ 
buf = matrix[from]; 
matrix[from] = matrix[to]; 
matrix[to] = buf; 
from++; to--; 
} 
}while(from < = to); 
if(a < to){ 
Rapido(matrix, a, to); 
} 
if(from < b){ 
Rapido(matrix, from, b); 
} 
} 
COMPLEJIDAD 
Cada algoritmo de ordenamiento por definición tiene operaciones y cálculos mínimos y 
máximos que realiza (complejidad), a continuación una tabla que indica la cantidad de 
cálculos que corresponden a cada método de ordenamiento: 
Algoritmo Operaciones máximas 
Burbuja Ω(n2) 
Inserción Ω(n2/4) 
Selección Ω(n2) 
Shell Ω(n log2n) 
Merge Ω(n logn) 
Quick Ω(n2) en peor de los casos y Ω(n logn) en el 
promedio de los casos.
OTRAS FUENTES CONSULTADAS 
 Capítulo 21: Métodos de ordenamiento y búsqueda. De: 
http://www.mailxmail.com/curso-aprende-programar/metodos-ordenamiento-busqueda 
 Algoritmos de búsqueda, de: 
http://html.rincondelvago.com/algoritmos-de-busqueda.html 
 Binary Search Illustrating Divide and Conquer, de: 
http://www.animal.ahrgr.de/showAnimationDetails.php3?anim=4 
www.monografias.com 
 Trabajos sobre métodos ordenamiento, de 
www.rincondelvago.com

Mais conteúdo relacionado

Mais procurados

Método de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sortMétodo de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sortlinkinpark03
 
Método de ordenamiento por selección
Método de ordenamiento por selecciónMétodo de ordenamiento por selección
Método de ordenamiento por selecciónfigocancun
 
METODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOMETODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTODaniel Guaycha
 
Ordenar arreglos en java
Ordenar arreglos en javaOrdenar arreglos en java
Ordenar arreglos en javaeccutpl
 
Algoritmos de ordenamiento
Algoritmos de ordenamientoAlgoritmos de ordenamiento
Algoritmos de ordenamientoMonica Canaza
 
Algoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y BúsquedaAlgoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y BúsquedaJavier Alvarez
 
Documento de Busqueda Binaria
Documento de Busqueda BinariaDocumento de Busqueda Binaria
Documento de Busqueda BinariaSanTy BizZle
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamientoLalo Chooper
 
Insercion directa
Insercion directaInsercion directa
Insercion directaabelpit2
 
Analisis busqueda binaria y secuencia
Analisis busqueda binaria y secuencia Analisis busqueda binaria y secuencia
Analisis busqueda binaria y secuencia Jose Rios
 
Informe ordenamiento
Informe ordenamientoInforme ordenamiento
Informe ordenamientoIINTERACTIVE
 
Algoritmos de ordenamiento
Algoritmos de ordenamientoAlgoritmos de ordenamiento
Algoritmos de ordenamientoOrlando Torres
 

Mais procurados (20)

Método de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sortMétodo de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sort
 
Método de ordenamiento por selección
Método de ordenamiento por selecciónMétodo de ordenamiento por selección
Método de ordenamiento por selección
 
METODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOMETODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTO
 
Ordenar arreglos en java
Ordenar arreglos en javaOrdenar arreglos en java
Ordenar arreglos en java
 
Algoritmos de ordenamiento
Algoritmos de ordenamientoAlgoritmos de ordenamiento
Algoritmos de ordenamiento
 
Ordenamiento ppt
Ordenamiento pptOrdenamiento ppt
Ordenamiento ppt
 
Algoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y BúsquedaAlgoritmo, Ordenacion y Búsqueda
Algoritmo, Ordenacion y Búsqueda
 
Documento de Busqueda Binaria
Documento de Busqueda BinariaDocumento de Busqueda Binaria
Documento de Busqueda Binaria
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Ordenamientos rápido y mezcla
Ordenamientos rápido y mezclaOrdenamientos rápido y mezcla
Ordenamientos rápido y mezcla
 
Comparativa entre Algoritmos de Ordenamiento
Comparativa entre Algoritmos de OrdenamientoComparativa entre Algoritmos de Ordenamiento
Comparativa entre Algoritmos de Ordenamiento
 
Insercion directa
Insercion directaInsercion directa
Insercion directa
 
Ordenamiento por seleccion
Ordenamiento por seleccionOrdenamiento por seleccion
Ordenamiento por seleccion
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Analisis busqueda binaria y secuencia
Analisis busqueda binaria y secuencia Analisis busqueda binaria y secuencia
Analisis busqueda binaria y secuencia
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Tema5
Tema5Tema5
Tema5
 
Informe ordenamiento
Informe ordenamientoInforme ordenamiento
Informe ordenamiento
 
Algoritmos de ordenamiento
Algoritmos de ordenamientoAlgoritmos de ordenamiento
Algoritmos de ordenamiento
 

Destaque

Programación III (Java) - 04 Excepciones
Programación III (Java) - 04 ExcepcionesProgramación III (Java) - 04 Excepciones
Programación III (Java) - 04 ExcepcionesAndoni Eguíluz Morán
 
5.1 estructura de una clase.
5.1 estructura de una clase.5.1 estructura de una clase.
5.1 estructura de una clase.K Manuel TN
 
Gestión de errores en Java
Gestión de errores en JavaGestión de errores en Java
Gestión de errores en Javaeccutpl
 
Manejo de excepciones en Java
Manejo de excepciones en JavaManejo de excepciones en Java
Manejo de excepciones en JavaJohn Ortiz
 
Java excepciones
Java excepcionesJava excepciones
Java excepcionesricardo_79
 
Excepciones en java
Excepciones en javaExcepciones en java
Excepciones en javajent46
 
What Makes Great Infographics
What Makes Great InfographicsWhat Makes Great Infographics
What Makes Great InfographicsSlideShare
 
Masters of SlideShare
Masters of SlideShareMasters of SlideShare
Masters of SlideShareKapost
 
10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation OptimizationOneupweb
 
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareSTOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareEmpowered Presentations
 
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingHow To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingContent Marketing Institute
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksSlideShare
 

Destaque (15)

Programación III (Java) - 04 Excepciones
Programación III (Java) - 04 ExcepcionesProgramación III (Java) - 04 Excepciones
Programación III (Java) - 04 Excepciones
 
5.1 estructura de una clase.
5.1 estructura de una clase.5.1 estructura de una clase.
5.1 estructura de una clase.
 
Tecnicas y extensiones para Java de tiempo real
Tecnicas y extensiones para Java de tiempo realTecnicas y extensiones para Java de tiempo real
Tecnicas y extensiones para Java de tiempo real
 
Gestión de excepciones en java
Gestión de excepciones en javaGestión de excepciones en java
Gestión de excepciones en java
 
Gestión de errores en Java
Gestión de errores en JavaGestión de errores en Java
Gestión de errores en Java
 
Manejo de excepciones en Java
Manejo de excepciones en JavaManejo de excepciones en Java
Manejo de excepciones en Java
 
Java excepciones
Java excepcionesJava excepciones
Java excepciones
 
Excepciones en java
Excepciones en javaExcepciones en java
Excepciones en java
 
What Makes Great Infographics
What Makes Great InfographicsWhat Makes Great Infographics
What Makes Great Infographics
 
You Suck At PowerPoint!
You Suck At PowerPoint!You Suck At PowerPoint!
You Suck At PowerPoint!
 
Masters of SlideShare
Masters of SlideShareMasters of SlideShare
Masters of SlideShare
 
10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization
 
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareSTOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
 
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingHow To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
 

Semelhante a Josemanueunidad4 investigacionmetodos

Semelhante a Josemanueunidad4 investigacionmetodos (20)

metodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdfmetodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdf
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Estructura de dato unidad 5
Estructura de dato unidad 5Estructura de dato unidad 5
Estructura de dato unidad 5
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busqueda
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
Metodos De Ordenamiento
Metodos De OrdenamientoMetodos De Ordenamiento
Metodos De Ordenamiento
 
S3-SCBC.pptx
S3-SCBC.pptxS3-SCBC.pptx
S3-SCBC.pptx
 
S3-SCBC.pptx
S3-SCBC.pptxS3-SCBC.pptx
S3-SCBC.pptx
 
Unidad cinco estructura de datos
Unidad cinco estructura de datosUnidad cinco estructura de datos
Unidad cinco estructura de datos
 
Informe ordenamiento
Informe ordenamientoInforme ordenamiento
Informe ordenamiento
 
Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++
 
E7 ensayo-ordenacion
E7 ensayo-ordenacionE7 ensayo-ordenacion
E7 ensayo-ordenacion
 
Presentacion
PresentacionPresentacion
Presentacion
 
Metodo burbuja C++
Metodo burbuja C++Metodo burbuja C++
Metodo burbuja C++
 
Presentacion recursividad
Presentacion recursividadPresentacion recursividad
Presentacion recursividad
 
Arreglos enitmar
Arreglos enitmarArreglos enitmar
Arreglos enitmar
 
Unidad 1 1
Unidad 1   1Unidad 1   1
Unidad 1 1
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de Ordenamiento
 
Algebra morelys lugo2
Algebra morelys lugo2Algebra morelys lugo2
Algebra morelys lugo2
 
Informe insercion
Informe insercionInforme insercion
Informe insercion
 

Mais de K Manuel TN

Josemanueunidad4 mapaconceptual
Josemanueunidad4 mapaconceptualJosemanueunidad4 mapaconceptual
Josemanueunidad4 mapaconceptualK Manuel TN
 
Josemauelunidad3 triangulodepascal
Josemauelunidad3 triangulodepascalJosemauelunidad3 triangulodepascal
Josemauelunidad3 triangulodepascalK Manuel TN
 
Josemauelunidad3 torresdehanoi
Josemauelunidad3 torresdehanoiJosemauelunidad3 torresdehanoi
Josemauelunidad3 torresdehanoiK Manuel TN
 
Josemauelunidad3 seriedefibonacci
Josemauelunidad3 seriedefibonacciJosemauelunidad3 seriedefibonacci
Josemauelunidad3 seriedefibonacciK Manuel TN
 
Josemauelunidad3 operacionesaritmeticasconrecursividad
Josemauelunidad3 operacionesaritmeticasconrecursividadJosemauelunidad3 operacionesaritmeticasconrecursividad
Josemauelunidad3 operacionesaritmeticasconrecursividadK Manuel TN
 
Josemauelunidad3 recursividad
Josemauelunidad3 recursividadJosemauelunidad3 recursividad
Josemauelunidad3 recursividadK Manuel TN
 
Josemauelunidad3 elproductode2numrs
Josemauelunidad3 elproductode2numrsJosemauelunidad3 elproductode2numrs
Josemauelunidad3 elproductode2numrsK Manuel TN
 
Josè manuel practica 3.3 comentar y corregir
Josè manuel practica 3.3 comentar y corregirJosè manuel practica 3.3 comentar y corregir
Josè manuel practica 3.3 comentar y corregirK Manuel TN
 
José manuel practica 1 de la unidad 2 creacion de un array list
José manuel practica 1 de la unidad 2 creacion de un array listJosé manuel practica 1 de la unidad 2 creacion de un array list
José manuel practica 1 de la unidad 2 creacion de un array listK Manuel TN
 
Jose manuel activida 2, unidad 2 listas simples
Jose manuel activida 2, unidad 2 listas simplesJose manuel activida 2, unidad 2 listas simples
Jose manuel activida 2, unidad 2 listas simplesK Manuel TN
 
Josè manuel practica 3 5 operaciones con arreglos
Josè manuel practica 3 5 operaciones con arreglosJosè manuel practica 3 5 operaciones con arreglos
Josè manuel practica 3 5 operaciones con arreglosK Manuel TN
 
José manuel practica 2 de arreglos con meses
José manuel practica 2 de arreglos con mesesJosé manuel practica 2 de arreglos con meses
José manuel practica 2 de arreglos con mesesK Manuel TN
 
Jose manuel mapa conceptual unidad 1
Jose manuel mapa conceptual unidad 1Jose manuel mapa conceptual unidad 1
Jose manuel mapa conceptual unidad 1K Manuel TN
 
Jose manuel cuadro comparativo unidad 1
Jose manuel cuadro comparativo unidad 1Jose manuel cuadro comparativo unidad 1
Jose manuel cuadro comparativo unidad 1K Manuel TN
 
Aplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datosAplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datosK Manuel TN
 
Ejemplos de estructura de control semestre 2
Ejemplos de estructura de control semestre 2Ejemplos de estructura de control semestre 2
Ejemplos de estructura de control semestre 2K Manuel TN
 
Operadores ejemplos semestre 2
Operadores ejemplos semestre 2Operadores ejemplos semestre 2
Operadores ejemplos semestre 2K Manuel TN
 
Comentarios semestre 2
Comentarios semestre 2Comentarios semestre 2
Comentarios semestre 2K Manuel TN
 
Mapa conceptual estructuras de control SEMESTRE 2
Mapa conceptual estructuras de control SEMESTRE 2Mapa conceptual estructuras de control SEMESTRE 2
Mapa conceptual estructuras de control SEMESTRE 2K Manuel TN
 

Mais de K Manuel TN (20)

Pilas
PilasPilas
Pilas
 
Josemanueunidad4 mapaconceptual
Josemanueunidad4 mapaconceptualJosemanueunidad4 mapaconceptual
Josemanueunidad4 mapaconceptual
 
Josemauelunidad3 triangulodepascal
Josemauelunidad3 triangulodepascalJosemauelunidad3 triangulodepascal
Josemauelunidad3 triangulodepascal
 
Josemauelunidad3 torresdehanoi
Josemauelunidad3 torresdehanoiJosemauelunidad3 torresdehanoi
Josemauelunidad3 torresdehanoi
 
Josemauelunidad3 seriedefibonacci
Josemauelunidad3 seriedefibonacciJosemauelunidad3 seriedefibonacci
Josemauelunidad3 seriedefibonacci
 
Josemauelunidad3 operacionesaritmeticasconrecursividad
Josemauelunidad3 operacionesaritmeticasconrecursividadJosemauelunidad3 operacionesaritmeticasconrecursividad
Josemauelunidad3 operacionesaritmeticasconrecursividad
 
Josemauelunidad3 recursividad
Josemauelunidad3 recursividadJosemauelunidad3 recursividad
Josemauelunidad3 recursividad
 
Josemauelunidad3 elproductode2numrs
Josemauelunidad3 elproductode2numrsJosemauelunidad3 elproductode2numrs
Josemauelunidad3 elproductode2numrs
 
Josè manuel practica 3.3 comentar y corregir
Josè manuel practica 3.3 comentar y corregirJosè manuel practica 3.3 comentar y corregir
Josè manuel practica 3.3 comentar y corregir
 
José manuel practica 1 de la unidad 2 creacion de un array list
José manuel practica 1 de la unidad 2 creacion de un array listJosé manuel practica 1 de la unidad 2 creacion de un array list
José manuel practica 1 de la unidad 2 creacion de un array list
 
Jose manuel activida 2, unidad 2 listas simples
Jose manuel activida 2, unidad 2 listas simplesJose manuel activida 2, unidad 2 listas simples
Jose manuel activida 2, unidad 2 listas simples
 
Josè manuel practica 3 5 operaciones con arreglos
Josè manuel practica 3 5 operaciones con arreglosJosè manuel practica 3 5 operaciones con arreglos
Josè manuel practica 3 5 operaciones con arreglos
 
José manuel practica 2 de arreglos con meses
José manuel practica 2 de arreglos con mesesJosé manuel practica 2 de arreglos con meses
José manuel practica 2 de arreglos con meses
 
Jose manuel mapa conceptual unidad 1
Jose manuel mapa conceptual unidad 1Jose manuel mapa conceptual unidad 1
Jose manuel mapa conceptual unidad 1
 
Jose manuel cuadro comparativo unidad 1
Jose manuel cuadro comparativo unidad 1Jose manuel cuadro comparativo unidad 1
Jose manuel cuadro comparativo unidad 1
 
Aplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datosAplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datos
 
Ejemplos de estructura de control semestre 2
Ejemplos de estructura de control semestre 2Ejemplos de estructura de control semestre 2
Ejemplos de estructura de control semestre 2
 
Operadores ejemplos semestre 2
Operadores ejemplos semestre 2Operadores ejemplos semestre 2
Operadores ejemplos semestre 2
 
Comentarios semestre 2
Comentarios semestre 2Comentarios semestre 2
Comentarios semestre 2
 
Mapa conceptual estructuras de control SEMESTRE 2
Mapa conceptual estructuras de control SEMESTRE 2Mapa conceptual estructuras de control SEMESTRE 2
Mapa conceptual estructuras de control SEMESTRE 2
 

Último

ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxnandoapperscabanilla
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIIsauraImbrondone
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxdkmeza
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfenelcielosiempre
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdfenelcielosiempre
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVGiustinoAdesso1
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 

Último (20)

ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptx
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCV
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 

Josemanueunidad4 investigacionmetodos

  • 1. DIRECCIÓN GENERAL DE EDUCACIÓN SUPERIOR TECNOLÓGICA INSTITUTO TECNOLÓGICO DE SALINA CRUZ MATERIA ESTRUCTURA Y ORGANIZACIÓN DE DATOS TEMA ACTIVIDAD 1 UNIDAD 4 TRABAJO: INVESTIGAR LOS DIVERSOS ALGORITMOS DE LOS MÉTODOS DE ORDENAMIENTO, BÚSQUEDA Y RECUPERACIÓN DE DATOS PROFESORA SUSANA MONICA ROMAN NAJERA ALUMNO JOSE MANUEL FLORES RAMOS CARRERA ING. EN TIC´S SEMESTRE 3 E3
  • 2. INTRODUCCION Los algoritmos de ordenamiento nos permiten, ordenar vectores o matrices con valores asignados aleatoriamente. Nos centraremos en los métodos más populares, analizando la cantidad de comparaciones que suceden, el tiempo que demora y revisando el código, escrito en Java, de cada algoritmo. Esta investigación nos permitirá conocer más a fondo cada método distinto de ordenamiento, desde uno simple hasta el más complejo. Se realizaran comparaciones en tiempo de ejecución, pre-requisitos de cada algoritmo, funcionalidad, alcance, etc.
  • 3. METODOS DE ORDENAMIENTO [JAVA] ¿Qué es ordenamiento? Es la operación de arreglar los registros de una tabla en algún orden secuencial de acuerdo a un criterio de ordenamiento. El ordenamiento se efectúa con base en el valor de algún campo en un registro. El propósito principal de un ordenamiento es el de facilitar las búsquedas de los miembros del conjunto ordenado. Ej. De ordenamientos: Dir. Telefónico, tablas de contenido, bibliotecas y diccionarios, etc. 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 numérico, alfabético o incluso alfanumérico, ascendente o descendente. Cuándo conviene usar un método de ordenamiento? Cuando se requiere hacer una cantidad considerable de búsquedas y es importante el factor tiempo. Tipos de ordenamientos: Los 2 tipos de ordenamientos que se pueden realizar son: los internos y los externos.  Los internos: Son aquellos en los que los valores a ordenar están en memoria principal, por lo que se asume que el tiempo que se requiere para acceder cualquier elemento sea el mismo (a [1], a [500], etc.).  Los externos: Son aquellos en los que los valores a ordenar están en memoria secundaria (disco, cinta, cilindro magnético, etc.), por lo que se asume que el tiempo que se requiere para acceder a cualquier elemento depende de la última posición accesada (posición 1, posición 500, etc.). Eficiencia en tiempo de ejecución:
  • 4. Una medida de eficiencia es: Contar el # de comparaciones (C) Contar el # de movimientos de items (M) Estos están en función del #(n) de items a ser ordenados. Un "buen algoritmo" de ordenamiento requiere de un orden nlogn comparaciones. La eficiencia de los algoritmos se mide por el número de comparaciones e intercambios que tienen que hacer, es decir, se toma n como el número de elementos que tiene el arreglo o vector a ordenar y se dice que un algoritmo realiza O(n2) comparaciones cuando compara n veces los n elementos, n x n = n2 Algoritmos de ordenamiento: Internos: 1. Inserción directa. 2. Inserción binaria. 3. Inserción directa. 1. Selección directa. 2. Selección directa. 1. Burbuja. 4. Intercambio directo. 1. Shell. 5. Inserción disminución incremental. 1. Heap. 2. Tournament. 6. Ordenamiento de árbol. 1. Quick sort. Clasificación de los algoritmos de ordenamiento de información: El hecho de que la información está ordenada, nos sirve para poder encontrarla y accesarla de manera más eficiente ya que de lo contrario se tendría que hacer de manera secuencial.
  • 5. A continuación se describirán 4 grupos de algoritmos para ordenar información: Algoritmos de inserción: En este tipo de algoritmo los elementos que van a ser ordenados son considerados uno a la vez. Cada elemento es INSERTADO en la posición apropiada con respecto al resto de los elementos ya ordenados. Entre estos algoritmos se encuentran el de INSERCION DIRECTA, SHELL SORT, INSERCION BINARIA y HASHING. Algoritmos de intercambio: En este tipo de algoritmos se toman los elementos de dos en dos, se comparan y se INTERCAMBIAN si no están en el orden adecuado. Este proceso se repite hasta que se ha analizado todo el conjunto de elementos y ya no hay intercambios. Entre estos algoritmos se encuentran el BURBUJA y QUICK SORT. Algoritmos de selección: En este tipo de algoritmos se SELECCIONA o se busca el elemento más pequeño (o más grande) de todo el conjunto de elementos y se coloca en su posición adecuada. Este proceso se repite para el resto de los elementos hasta que todos son analizados. Entre estos algoritmos se encuentra el de SELECCION DIRECTA. Algoritmos de enumeración: En este tipo de algoritmos cada elemento es comparado contra los demás. En la comparación se cuenta cuántos elementos son más pequeños que el elemento que se está analizando, generando así una ENUMERACION. El número generado para cada elemento indicará su posición. Los métodos simples son: Inserción (o por inserción directa), selección, burbuja y Shell, en dónde el último es una extensión al método de inserción, siendo más rápido. Los métodos más complejos son el quick-sort (ordenación rápida) y el heap sort. A continuación se mostrarán los métodos de ordenamiento más simples. METODO DE INSERCIÓN. Este método toma cada elemento del arreglo para ser ordenado y lo compara con los que se encuentran en posiciones anteriores a la de él dentro del arreglo. Si resulta que el elemento con el que se está comparando es mayor que el elemento a ordenar, se recorre hacia la siguiente posición superior. Si por el contrario,
  • 6. resulta que el elemento con el que se está comparando es menor que el elemento a ordenar, se detiene el proceso de comparación pues se encontró que el elemento ya está ordenado y se coloca en su posición (que es la siguiente a la del último número con el que se comparó). Procedimiento Insertion Sort Este procedimiento recibe el arreglo de datos a ordenar a [] y altera las posiciones de sus elementos hasta dejarlos ordenados de menor a mayor. N representa el número de elementos que contiene a []. Paso 1: [Para cada pos. del arreglo] For i <- 2 to N do Paso 2: [Inicializa v y j] v <- a[i] j <- i. Paso 3: [Compara v con los anteriores] While a[j-1] > v AND j>1 do Paso 4: [Recorre los datos mayores] Set a[j] <- a[j-1], Paso 5: [Decremento j] set j <- j-1. Paso 5: [Inserta v en su posición] Set a[j] <- v. Paso 6: [Fin] End. Ejemplo: Si el arreglo a ordenar es a = ['a','s','o','r','t','i','n','g','e','x','a','m','p','l','e'], el algoritmo va a recorrer el arreglo de izquierda a derecha. Primero toma el segundo dato 's' y lo asigna a v y i toma el valor de la posición actual de v. Luego compara esta 's' con lo que hay en la posición j-1, es decir, con 'a'. Debido a que 's' no es menor que 'a' no sucede nada y avanza i. Ahora v toma el valor 'o' y lo compara con 's', como es menor recorre a la 's' a la posición de la 'o'; decremento j, la cual ahora tiene la posición en dónde estaba la 's'; compara a 'o' con a [j-1], es decir, con 'a'. Como no es menor que la 'a' sale del for y pone la 'o' en la posición a[j]. El resultado hasta este punto es el arreglo siguiente: a = ['a','o','s','r',....] Así se continúa y el resultado final es el arreglo ordenado: a = ['a','a','e','e','g','i','l','m','n','o','p','r','s','t','x'] MÉTODO DE SELECCIÓN. El método de ordenamiento por selección consiste en encontrar el menor de todos los elementos del arreglo e intercambiarlo con el que está en la primera posición.
  • 7. Luego el segundo más pequeño, y así sucesivamente hasta ordenar todo el arreglo. Procedimiento Selection Sort Paso 1: [Para cada pos. del arreglo] For i <- 1 to N do Paso 2: [Inicializa la pos. del menor] menor <- i Paso 3: [Recorre todo el arreglo] For j <- i+1 to N do paso 4: [Si a[j] es menor] If a[j] <> paso 5: [Reasigna el apuntador al menor] min = j Paso 6: [Intercambia los datos de la pos. min y posición i] Swap(a, min, j). Paso 7: [Fin] End. Ejemplo: El arreglo a ordenar es a = ['a','s','o','r','t','i','n','g','e','x','a','m','p','l','e']. Se empieza por recorrer el arreglo hasta encontrar el menor elemento. En este caso el menor elemento es la primera 'a'. De manera que no ocurre ningún cambio. Luego se procede a buscar el siguiente elemento y se encuentra la segunda 'a'. Esta se intercambia con el dato que está en la segunda posición, la 's', quedando el arreglo así después de dos recorridos: a = ['a','a','o','r','t','i','n','g','e','x','s','m','p','l','e']. El siguiente elemento, el tercero en orden de menor mayor es la primera 'e', la cual se intercambia con lo que está en la tercera posición, o sea, la 'o'. Le sigue la segunda 's', la cual es intercambiada con la 'r'. El arreglo ahora se ve de la siguiente manera: a = ['a','a','e','e','t','i','n','g','o','x','s','m','p','l','r']. De esta manera se va buscando el elemento que debe ir en la siguiente posición hasta ordenar todo el arreglo. El número de comparaciones que realiza este algoritmo es: Para el primer elemento se comparan n-1 datos, en general para el elemento i-ésimo se hacen n-i comparaciones, por lo tanto, el total de comparaciones es: la sumatoria para i de 1 a n-1 (n-i) = 1/2 n (n-1).
  • 8. METODOS ITERATIVOS Estos métodos son simples de entender y de programar ya que son iterativos, simples ciclos y sentencias que hacen que el vector pueda ser ordenado. Dentro de los Algoritmos iterativos encontramos:  · Burbuja  · Inserción  · Selección  · Shellsort METODOS RECURSIVOS Estos métodos son aún más complejos, requieren de mayor atención y conocimiento para ser entendidos. Son rápidos y efectivos, utilizan generalmente la técnica Divide y vencerás, que consiste en dividir un problema grande en varios pequeños para que sea más fácil resolverlos. Mediante llamadas recursivas a sí mismas, es posible que el tiempo de ejecución y de ordenación sea más óptimo. Dentó de los algoritmos recursivos encontramos:  Ordenamiento por Mezclas (merge)  Ordenamiento Rápido (quick) METODO BURBUJA Public static void burbuja (int [] matrix) { Int temp; for (int i=1; i < matrix. Length; i++) { for (int j=0; j < matrix. Length- 1; j++) { if (matrix[j] > matrix [j+1]) { temp = matrix[j]; matrix[j] = matrix [j+1]; matrix [j+1] = temp; } } } }
  • 9. METODO INSERCION public static void Insercion (int[] vector) { for (int i=1; i < vector.length; i++) { int aux = vector[i]; int j; for (j=i-1; j > =0 && vector[j] > aux; j--){ vector[j+1] = vector[j]; } vector[j+1] = aux; } } METODO SELECCIÓN public static void Seleccion(int[]matrix){ int i, j, k, p, buffer, limit = matrix.length-1; for(k = 0; k < limit; k++){ p = k; for(i = k+1; i < = limit; i++){ if(matrix[i] < matrix[p]) p = i; if(p != k){ buffer = matrix[p]; matrix[p] = matrix[k]; matrix[k] = buffer; } } } } METODO SHELL SHORT public static void shellSort(int[] matrix) { for ( int increment = matrix.length / 2;increment > 0; increment = (increment == 2 ? 1 : (int) Math.round(increment / 2.2))) { for (int i = increment; i < matrix.length; i++) { for (int j = i; j > = increment && matrix[j - increment] > matrix[j]; j -= increment) { int temp = matrix[j]; matrix[j] = matrix[j - increment]; matrix[j - increment] = temp; } } }}
  • 10. ORDENAMIENTO POR MEZCLAS (MERGE) El algoritmo de ordenamiento por mezcla (Merge) se divide en dos procesos, primero se divide en partes iguales la lista: public static void mergesort(int[ ] matrix, int init, int n){ int n1; int n2; if (n > 1){ n1 = n / 2; n2 = n - n1; mergesort(matrix, init, n1); mergesort(matrix, init + n1, n2); merge(matrix, init, n1, n2); } } Y el algoritmo que nos permite mezclar los elementos según corresponda: private static void merge(int[ ] matrix, int init, int n1, int n2){ int[ ] buffer = new int[n1+n2]; int temp = 0; int temp1 = 0; int temp2 = 0; int i; while ((temp1 < n1) && (temp2 < n2)){ if (matrix[init + temp1] < matrix[init + n1 + temp2]){ buffer[temp++] = matrix[init + (temp1++)]; }else{ buffer[temp++] = matrix[init + n1 + (temp2++)]; } } while (temp1 < n1){ buffer[temp++] = matrix[init + (temp1++)]; } while (temp2 < n2){ buffer[temp++] = matrix[init + n1 + (temp2++)]; } for (i = 0; i < n1+n2; i++){ matrix[init + i] = buffer[i]; } } ORDENAMIENTO RAPIDO public static void Rapido(int matrix[], int a, int b){ matrix = new int[matrix.length]; int buf; int from = a; int to = b; int pivot = matrix[(from+to)/2]; do{
  • 11. while(matrix[from] < pivot){ from++; } while(matrix[to] > pivot){ to--; } if(from < = to){ buf = matrix[from]; matrix[from] = matrix[to]; matrix[to] = buf; from++; to--; } }while(from < = to); if(a < to){ Rapido(matrix, a, to); } if(from < b){ Rapido(matrix, from, b); } } COMPLEJIDAD Cada algoritmo de ordenamiento por definición tiene operaciones y cálculos mínimos y máximos que realiza (complejidad), a continuación una tabla que indica la cantidad de cálculos que corresponden a cada método de ordenamiento: Algoritmo Operaciones máximas Burbuja Ω(n2) Inserción Ω(n2/4) Selección Ω(n2) Shell Ω(n log2n) Merge Ω(n logn) Quick Ω(n2) en peor de los casos y Ω(n logn) en el promedio de los casos.
  • 12. OTRAS FUENTES CONSULTADAS  Capítulo 21: Métodos de ordenamiento y búsqueda. De: http://www.mailxmail.com/curso-aprende-programar/metodos-ordenamiento-busqueda  Algoritmos de búsqueda, de: http://html.rincondelvago.com/algoritmos-de-busqueda.html  Binary Search Illustrating Divide and Conquer, de: http://www.animal.ahrgr.de/showAnimationDetails.php3?anim=4 www.monografias.com  Trabajos sobre métodos ordenamiento, de www.rincondelvago.com