Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Reporte metodos de busqueda y ordenamiento

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Dirección General de Educación Superior Tecnológica 
INSTITUTO TECNOLÓGICO DE SALINA CRUZ 
UNIDAD 1 
FACILITADOR: 
M.C. SU...
ÍNDICE 
INTRODUCCIÓN ........................................................................................................
1 
INTRODUCCIÓN 
Con mucha frecuencia los programadores trabajan con grandes cantidades de datos almacenados en arrays y r...
Anzeige
Anzeige
Anzeige
Anzeige
Nächste SlideShare
Metodos de-ordenamiento
Metodos de-ordenamiento
Wird geladen in …3
×

Hier ansehen

1 von 24 Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (20)

Ähnlich wie Reporte metodos de busqueda y ordenamiento (20)

Anzeige

Weitere von TAtiizz Villalobos (20)

Aktuellste (20)

Anzeige

Reporte metodos de busqueda y ordenamiento

  1. 1. Dirección General de Educación Superior Tecnológica INSTITUTO TECNOLÓGICO DE SALINA CRUZ UNIDAD 1 FACILITADOR: M.C. SUSANA MONICA ROMAN NAJERA TRABAJO: MÉTODOS DE BÚSQUEDA Y ORDENAMIENTO. NOMBRE DE LA ALUMNA: BENITA VILLALOBOS PEREZ N. DE CONTROL: 131020103 SEMESTRE: 3 GRUPO: E2 CARRERA: ING. EN TECNOLOGIAS DE LA INFORMACIÓN Y DE LAS COMUNICACIONES. SALINA CRUZ, OAXACA A DICIEMBRE DE 2014.
  2. 2. ÍNDICE INTRODUCCIÓN ........................................................................................................................... 1 MÉTODOS DE BÚSQUEDA Y ORDENAMIENTO .................................................................. 2 MÉTODO BURBUJA..................................................................................................................... 3 MÉTODO DE SELECCIÓN ......................................................................................................... 3 MÉTODO POR INSERCIÓN ....................................................................................................... 4 MÉTODO DE INTERCAMBIO ..................................................................................................... 5 MÉTODO SHELL........................................................................................................................... 6 BÚSQUEDA SECUENCIAL ........................................................................................................ 9 BÚSQUEDA BINARIA ................................................................................................................ 10 ORDENACIÓN RÁPIDA (QUICKSORT) ...................................................................................... 11 ALGORITMO QUICKSORT. ...................................................................................................... 13 MÉTODO DE BINSORT. ............................................................................................................ 16 MÉTODO DE RADIXSORT ....................................................................................................... 17 CONCLUSIÓN ............................................................................................................................. 21 OTRAS FUENTES CONSULTADAS ....................................................................................... 22
  3. 3. 1 INTRODUCCIÓN 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 específico de un arrays se denomina búsqueda. La operación de búsqueda nos permite encontrar datos que están previamente almacenados. La operación puede ser un éxito, si se localiza el elemento buscado o un fracaso en otros casos. La búsqueda se puede realizar sobre un conjunto de datos ordenados, lo cual hace la tarea más fácil y consume menos tiempo; o se puede realizar sobre elementos desordenados, tarea más laboriosa y de mayor insumo de tiempo.
  4. 4. 2 MÉTODOS DE BÚSQUEDA Y ORDENAMIENTO BÚSQUEDA Búsqueda Interna será aquella acción que se realice sobre datos que se encuentran en la memoria principal, por ejemplo en un arreglo. Búsqueda Externa es cuando todos sus elementos se encuentran en memoria secundaria (archivos almacenados en dispositivos de cinta, disco, etc.-) La operación de búsqueda de un elemento X en un conjunto consiste en determinar si el elemento X pertenece al conjunto y en este caso dar su posición, o bien, determinar que el elemento X no pertenece al conjunto. Los métodos directos tienen la característica de que su resolución es más corta, de fácil elaboración y comprensión, aunque son ineficientes cuando el número de elementos de un arreglo N, es mediano o considerablemente grande. Los métodos logarítmicos son más complejos con respecto a los directos, pero requieren menos comparaciones y movimientos para ordenar sus elementos, pero su elaboración y compresión resulta más sofisticada y abstracta. Se debe tener en cuenta que la eficiencia entre los distintos métodos se mide por el tiempo de ejecución del algoritmo y este depende fundamentalmente del número de comparaciones y movimientos que se realicen entre sus elementos. Por lo tanto podemos decir que cuando N es pequeño debe utilizarse métodos directos y cuando N es mediana o grande deben emplearse métodos logarítmicos.
  5. 5. 3 Métodos Directos o Básicos:  Ordenación por Intercambio Directo (Burbuja)  Ordenación por Selección (Obtención sucesivas de menores)  Ordenación por Inserción (Baraja) Métodos Logarítmicos o Avanzados:  Método de Shell (Inserción con incrementos decrecientes)  Método de QuickSort (Clasificación Rápida)  Método de Binsort (Clasificación por mezcla)  Método de Radixsort MÉTODO BURBUJA El método de la burbuja es uno de los más simples, es tan fácil como comparar todos los elementos de una lista contra todos, si se cumple que uno es mayor o menor a otro, entonces los intercambia de posición. Se denomina burbuja debido a que los valores más pequeños «burbujean» gradualmente (suben) hacia la cima o parte superior del array de modo similar a como suben las burbujas en el agua, mientras que los valores mayores se hunden en la parte inferior del array. MÉTODO DE SELECCIÓN Los métodos de ordenación por selección se basan en dos principios básicos: Seleccionar el elemento más pequeño (o más grande) del arreglo. Colocarlo en la posición más baja (o más alta) del arreglo. A diferencia del método de la burbuja, en este método el elemento más pequeño (o más grande) es el que se coloca en la posición final que le corresponde. Consideremos un array A con 5 valores enteros 51, 21, 39, 80, 36:
  6. 6. 4 Figura 1 Figura 2 MÉTODO POR INSERCIÓN El método de ordenación por inserción es similar al proceso típico de ordenar tarjetas de nombres (cartas de una baraja) por orden alfabético, que consiste en insertar un nombre en su posición correcta dentro de una lista o archivo que ya está ordenado. Así el proceso en el caso de la lista de enteros A = 50, 20, 40, 80, 30.
  7. 7. 5 Figura 3 MÉTODO DE INTERCAMBIO Se encarga de ordenar los elementos de una lista en orden ascendente. Este algoritmo se basa en la lectura sucesiva de la lista a ordenar, comparando el elemento inferior de la lista con los restantes y efectuando intercambio de posiciones cuando el orden resultante de la comparación no sea el correcto. Figura 4
  8. 8. 6 Figura 5 MÉTODO SHELL El nombre se debe a su inventor, D. L. Shell. Se suele denominar también ordenación por inserción con incrementos decrecientes. Se considera que el método Shell es una mejora de los métodos de inserción directa. Shell modifica los saltos contiguos resultantes de las comparaciones por saltos de mayor tamaño y con ello se consigue que la ordenación sea más rápida. Generalmente se toma como salto inicial n/2 (siendo n el número de elementos), luego se reduce el salto a la mitad en cada repetición hasta que el salto es de tamaño 1. Ejemplo: 74, 14, 21, 44, 38, 97, 11, 78, 65, 88, 30 Se debe empezar con k=n/2, siendo n el número de elementos de arreglo, y utilizando siempre la división entera.... después iremos variando k haciéndolo más
  9. 9. 7 pequeño mediante sucesivas divisiones por 2, hasta llegar a k=1. Pero vamos a ello... En nuestro ejemplo, n=11 (porque hay 11 elementos). Así que k=n/2=11/2=5. Empezamos con k=5. Así pues, vamos a dividir nuestro arreglo original en 5 sub- arreglo, en los cuales, sus elementos estarán separados por 5 lugares del arreglo original (el salto o gap es 5). Tomamos el primer elemento (el 74) contamos 5 lugares y tomamos también otro elemento (el 97) volvemos a contar 5 y tomamos otro (el 30) y acabamos porque se nos acaba el arreglo. El primer sub-arreglo con k=5 es el formado por 74, 97 y 30. 74, 14, 21, 44, 38, 97, 11, 78, 65, 88, 30 Ahora, ordenaremos los elementos del sub-arreglo (rojo) pero sólo entre ellos, utilizando el algoritmo de Inserción directa. 74, 97, 30 30, 14, 21, 44, 38, 74, 11, 78, 65, 88, 97 El 30, un elemento relativamente pequeño se ha ido hacia el principio y el 97 hacia el final. Formemos ahora otro sub-arreglo con salto k=5... Partiendo del segundo elemento (el 14) y contando 5 (tomamos también el 11) y hasta ahí, porque se acaba el arreglo. 30, 1, 21, 44, 38, 74, 11, 78, 65, 88, 97 Vamos a ordenarlos el 11 primero y el 14 después. 30, 11, 21, 44, 38, 74, 14, 78, 65, 88, 97 30, 11, 21, 44, 38, 74, 14, 78, 65, 88, 97 Ahora a por otro el 21 y el 78 30, 11, 21, 44, 38, 74, 14, 78, 65, 88, 97
  10. 10. 8 Están en orden entre ellos, así que se quedan como están. Ahora le toca al sub-arreglo formado por el 44 y el 65 30, 11 21, 44, 38, 74, 14, 78, 65, 88, 97 Que también están en orden entre ellos. Y finalmente el 38 y el 88, que también están en orden. 30, 11, 21, 44, 38, 74, 14, 78, 65, 88, 97 Aún no hemos terminado de ordenarlos. Nuestra k valía 5, así que ahora k←k/2=5/2=2, nuestra nueva k vale 2. Repetimos todo el desarrollo anterior, pero ahora nos saldrán 2 sub-arreglo cuyos elementos están separados por 2 lugares. Tomamos el primer elemento (el 30) contamos 2 lugares y tomamos también otro elemento (el 21) volvemos a contar 2 y tomamos otro (el 38), volvemos a contar y ahora tomamos (el 14), seguimos contado y tomamos (el 65), seguimos contando y tomamos (el 97) y acabamos porque se nos acaba el arreglo. Y posteriormente se forma el según sub-arreglo que empieza con el 11. 30, 11, 21, 44, 38, 74, 14, 78, 65, 88, 97 Se ordena (primero los rojos), con el método de inserción: 14, 11, 21, 44, 30, 74, 38, 78, 65, 88, 97 Finalmente ordenamos los negros, pero estos ya están ordenados: 14, 11, 21, 44, 30, 74, 38, 78, 65, 88, 97 Finalmente, calculamos un nuevo k dividiendo el que tenemos entre 2. k←k/2=2/2=1 Hemos llegado a k=1. Cuando k es 1 sólo podemos obtener 1 sub- arreglo cuyos elementos están separados 1 posición: el propio arreglo original.
  11. 11. 9 Dicho de otra manera... cuando k es 1, el algoritmo de Shell se comporta exactamente igual que el de inserción directa sobre todo el arreglo. 14, 11, 21, 44, 30, 74, 38, 78, 65, 88, 97 El método de inserción directa se comporta tanto mejor cuanto más cerca está cada elemento de su sitio definitivo. Finalmente, el arreglo queda de ésta manera: 11, 14, 21, 30, 38, 44, 65, 74, 78, 88, 97 Cada elemento descolocado ha tenido que moverse pocos lugares. Muchos de ellos ni siquiera se han movido. BÚSQUEDA SECUENCIAL Busca un elemento de una lista utilizando un valor destino llamado clave. En una búsqueda secuencial (a veces llamada búsqueda lineal), los elementos de una lista o vector se exploran (se examinan) en secuencia, uno después de otro. La búsqueda secuencial es necesaria, por ejemplo, si se desea encontrar la persona cuyo número de teléfono es 958-220000 en un directorio o listado telefónico de su ciudad. La búsqueda secuencial se utiliza normalmente cuando el array no está ordenado. Comienza en el principio del array y busca hasta que se encuentra el dato buscado y se llega al final de la lista.
  12. 12. 10 Figura 6 BÚSQUEDA BINARIA Si la lista está ordenada, la búsqueda binaria proporciona una técnica de búsqueda mejorada. Una búsqueda binaria típica es la búsqueda de una palabra en un diccionario. Dada la palabra, se abre el libro cerca del principio, del centro o del final dependiendo de la primera letra del primer apellido o de la palabra que busca. Se puede tener suerte y acertar con la página correcta; pero, normalmente, no será así y se mueve el lector a la página anterior o posterior del libro. Por ejemplo, si la palabra comienza con «J» y se está en la «L» se mueve uno hacia atrás. El proceso continúa hasta que se encuentra la página buscada o hasta que se descubre que la palabra no está en la lista. Si un array está ordenado, se puede utilizar un algoritmo más eficiente denominado búsqueda binaria. Se tiene un arreglo ordenado de 19 casillas.
  13. 13. 11 Figura 7 Si buscamos el número 107. ¿En que posición del arreglo se encuentra? ¿Cuántas comparaciones se hacen? Búsqueda Secuencial Búsqueda Binaria Posición = 16 Posición = 16 Comparaciones = 17 comparaciones = 3 Figura 8 ORDENACIÓN RÁPIDA (QUICKSORT) El algoritmo conocido como quicksort (ordenación rápida) recibe el nombre de su autor, Tony Hoare. La idea del algoritmo es simple, se basa en la división em particiones de la lista a ordenar, por lo que se puede considerar que aplica la técnica divide y vencerás. El método es, posiblemente, el más pequeño de código, más rápido, más elegante, más interesante y eficiente de los algoritmos de ordenación conocidos. El método se basa en dividir los n elementos de la lista a ordenar en dos partes o particiones separadas por un elemento: una partición izquierda, un elemento central denominado pivote o elemento de partición, y una partición derecha. La
  14. 14. 12 partición o división se hace de tal forma que todos los elementos de la primera sublista (partición izquierda) son menores que todos los elementos de la segunda sublista (partición derecha). Las dos sublistas se ordenan entonces independentemente. Para dividir la lista en particiones (sublistas) se elige uno de los elementos de la lista y se utiliza como pivote o elemento de partición. Si se elige una lista cualquiera con los elementos en orden aleatorio, se puede seleccionar cualquier elemento de la lista como pivote, por ejemplo, el primer elemento de la lista. Si la lista tiene algún orden parcial conocido, se puede tomar otra decisión para el pivote. Idealmente, el pivote se debe elegir de modo que se divida la lista exactamente por la mitad, de acuerdo al tamaño relativo de las claves. Por ejemplo, si se tiene una lista de enteros de 1 a 10, 5 o 6 serían pivotes ideales, mientras que 1 o 10 serían elecciones «pobres» de pivotes. Una vez que el pivote ha sido elegido, se utiliza para ordenar el resto de la lista en dos sublistas: una tiene todas las claves menores que el pivote y la otra, todos los elementos (claves) mayores que o iguales que el pivote (o al revés). Estas dos listas parciales se ordenan recursivamente utilizando el mismo algoritmo; es decir, se llama sucesivamente al propio algoritmo quicksort. La lista final ordenada se consegue concatenando la primera sublista, el pivote y la segunda lista, en ese orden, en uma única lista. La primera etapa de quicksort es la división o «particionado» recursivo de la lista hasta que todas las sublistas constan de sólo un elemento. Por ejemplo: Se ordena una lista de números enteros aplicando el algoritmo quicksort, como pivote se elige el primer elemento de la lista.
  15. 15. 13 Figura 9 ALGORITMO QUICKSORT. La primera etapa en el algoritmo de partición es obtener el elemento pivote; una vez que se ha seleccionado se ha de buscar el sistema para situar en la sublista izquierda todos los elementos menores que el pivote y en la sublista derecha todos los elementos mayores que el pivote. Supongamos que todos los elementos de la
  16. 16. 14 lista son distintos, aunque será preciso tener en cuenta los casos en que existan elementos idénticos. Los pasos que sigue el algoritmo quicksort:  Seleccionar el elemento central de a [0: n-1] como pivote.  Dividir los elementos restantes en particiones izquierda y derecha, de modo que ningún elemento de la izquierda tenga una clave (valor) mayor que el pivote y que ningún elemento a la derecha tenga una clave más pequeña que la del pivote.  Ordenar la partición izquierda utilizando quicksort recursivamente.  Ordenar la partición derecha utilizando quicksort recursivamente.  La solución es partición izquierda seguida por el pivote y a continuación  partición derecha. ANÁLISIS DEL ALGORITMO QUICKSORT. El análisis general de la eficiencia de quicksort es difícil. La mejor forma de ilustrar y calcular la complejidad del algoritmo es considerar el número de comparaciones realizadas teniendo en cuenta circunstancias ideales. Supongamos que n (número de elementos de la lista) es una potencia de 2, n = 2k (k = log2 n). Además, supongamos que el pivote es el elemento central de cada lista, de modo que quicksort divide la sublista en dos sublistas aproximadamente iguales. En la primera exploración o recorrido hay n − 1 comparaciones. El resultado de la etapa crea dos sublistas aproximadamente de tamaño n/2. En la siguiente fase, el proceso de cada sublista requiere aproximadamente n/2 comparaciones. Las comparaciones totales de esta fase son 2(n/2) = n. La siguiente fase procesa cuatro sublistas que requieren un total de 4(n/4) comparaciones, etc. Eventualmente, el proceso de división termina después de k pasadas cuando la sublista resultante tenga tamaño 1. El número total de comparaciones es aproximadamente: n + 2(n/2) + 4(n/4) + … + n(n/n) = n + n + … + n
  17. 17. 15 = n · k = n · log2 n Para una lista normal la complejidad de quicksort es O(n log2 n). El caso ideal que se ha examinado se realiza realmente cuando la lista (el array) está ordenado en orden ascendente. En este caso el pivote es precisamente el centro de cada sublista. Figura 11 Si el array está en orden ascendente, el primer recorrido encuentra el pivote en el centro de la lista e intercambia cada elemento en las sublistas inferiores y superiores. La lista resultante está casi ordenada y el algoritmo tiene la complejidad O(n log2 n). El escenario del caso peor de quicksort ocurre cuando el pivote cae consistentemente en una sublista de un elemento y deja el resto de los elementos en la segunda sublista. Esto sucede cuando el pivote es siempre el elemento más pequeño de su sublista. En el recorrido inicial, hay n comparaciones y la sublista grande contiene n – 1 elementos. En el siguiente recorrido, la sublista mayor requiere n − 1 comparaciones y produce una sublista de n − 2 elementos, etc. El número total de comparaciones es: n + n − 1 + n − 2 + …+ 2 = (n − 1)(n + 2)/2 La complejidad es O(n2). En general el algoritmo de ordenación tiene como complejidad media O(n log2 n) siendo posiblemente el algoritmo más rápido.
  18. 18. 16 MÉTODO DE BINSORT. Este método, también llamado clasificación por urnas, persigue conseguir funciones de tiempo de ejecución menores de O(n log n), para ordenar una secuencia de n elementos siempre que se conozca algo acerca del tipo de las claves por las que se están ordenando. Supóngase que se tiene un vector v [] de registros, se quiere ordenar respecto um campo clave de tipo entero, además se sabe que los valores de las claves se encuentran en el rango de 1 a n, sin claves duplicadas y siendo n el número de elementos. En estas circunstancias es posible colocar los registros ordenados en um array auxiliar t [] mediante este bucle: for 1:= 1 to n do t[v[i].clave] = v[i]; Sencillamente determina la posición que le corresponde según el valor del campo clave. El bucle lleva un tiempo de ejecución de complejidad O(n). Esta ordenación tan sencilla que se ha expuesto es un caso particular del método de ordenación por urnas (binsort). Este método utiliza urnas, cada urna contiene todos los registros con una misma clave. El proceso consiste en examinar cada registro r a clasificar y situarle en la urna i, coincidiendo i con el valor del campo clave de r. En la mayoría de los casos en que se utilice el algoritmo, será necesario guardar más de un registro en una misma urna por tener claves repetidas. Entonces estas urnas hay que concatenarlas en el orden de menor índice de urna a mayor, así quedará el array en orden creciente respecto al campo clave. ALGORITMO DE ORDENACIÓN BINSORT. Se considera que el campo clave de los registros que se van a ordenar son números enteros en el rango 1 .. m. Son necesarias m urnas por lo que es necesario definir
  19. 19. 17 um vector de m urnas. Las urnas pueden ser representadas por listas enlazadas, cada elemento de la lista contiene un registro cuyo campo clave es el correspondiente al de la urna en la que se encuentra. Así en la urna 1 se sitúan los registros cuyo campo clave sea igual a 1, en la urna 2 los registros cuyo campo clave sea 2, y así sucesivamente en la urna i se sitúan los registros cuyo campo clave sea igual a i. Una vez que se hayan distribuido los registros en las diversas urnas es necessário concatenar las listas. En la siguiente figura se muestra cómo realizar la concatenación. Figura 12 MÉTODO DE RADIXSORT Este método puede considerarse como una generalización de la clasificación por urnas. Aprovecha la estrategia de la forma más antigua de clasificación manual, consistente en hacer diversos montones de fichas, cada uno caracterizado por tener sus componentes un mismo dígito (letra, si es alfabética) en la misma posición; estos montones se recogen en orden ascendente y se reparte de nuevo en montones según el siguiente dígito de la clave. Como ejemplo, suponer que se han de ordenar estas fichas identificadas por tres dígitos:
  20. 20. 18 Figura 13 Atendiendo al dígito de menor peso (unidades) las fichas se distribuyen en montones del 0 al 9; Figura 14 Recogiendo los montones en orden, la secuencia de fichas queda: Figura 15 De esta secuencia podemos decir que está ordenada respecto al dígito de menor peso, respecto a las unidades. Pues bien, ahora de nuevo se distribuye la secuencia de fichas en montones respecto al segundo dígito: Figura 16 Recogiendo de nuevo los montones en orden, la secuencia de fichas queda:
  21. 21. 19 Figura 17 En este momento esta secuencia de fichas ya están ordenadas respecto a los dos últimos dígitos, es decir, respecto a las decenas. Por último, se distribuye las fichas en montones respecto al tercer dígito: Figura 18 Recogiendo de nuevo los montones en orden, la secuencia de fichas queda ya ordenada: 194, 216, 236, 247, 345, 365, 389, 425, 431, 467, 529, 572, 672, 721, 746, 834, 836, 891. ALGORITMO DE ORDENACIÓN RADIXSORT La idea clave de la ordenación Radixsort (también llamada por residuos) es clasificar por urnas primero respecto al dígito de menor peso (menos significativo) dk, después concatenar las urnas, clasificar de nuevo respecto al siguiente dígito dk −1, y así sucesivamente se sigue con el siguiente dígito hasta alcanzar el dígito más significativo , en ese momento la secuencia estará ordenada. La concatenación de las urnas consiste en enlazar el final de una con el frente de la siguiente. Al igual que en el método de Binsort, las urnas se representan mediante un vector de listas. En el caso de que la clave respecto a la que se ordena sea un entero, se tendrán 10 urnas, numeradas de 0 a 9. Si la clave respecto a la que se
  22. 22. 20 ordena es alfabética, habrá tantas urnas como letras distintas, desde la urna que represente a la letra a hasta la z. Para el caso de que clave sea entera, en primer lugar se determina el máximo número de dígitos que puede tener la clave. En un bucle de tantas iteraciones como máximo de dígitos se realizan las acciones de distribuir por urnas los registros, concatenar. La distribución por urnas exige obtener el dígito del campo clave que se encuentra en la posición definida por el bucle externo, dicho dígito será el índice de la urna.
  23. 23. 21 CONCLUSIÓN Un aprendizaje que se obtuvo al realizar esta investigación es que se conoció cada uno de los tipos de métodos de búsqueda ya que al momento de hacer un programa extenso podríamos utilizar algunos de estos métodos y así encontrar la información más rápida y no perder tanto tiempo. Al comparar con las demás definiciones y funciones de cada uno de los métodos de búsqueda pude notar que este método es mas eficiente y entendible que los demás. Es algoritmo conocido como quicksort (ordenación rápida) recibe el nombre de su autor, Tony Hoare. La idea del algoritmo es simple, se basa en la división em particiones de la lista a ordenar, por lo que se puede considerar que aplica la técnica divide y vencerás. El método es, posiblemente, el más pequeño de código, más rápido, más elegante, más interesante y eficiente de los algoritmos de ordenación conocidos.
  24. 24. 22 OTRAS FUENTES CONSULTADAS Métodos de búsqueda. Internet. En línea. Página consultada el día 29 de noviembre del 2014. Disponible en: http://es.slideshare.net/jaironitsed/metodos-de-ordenacion- ordenamiento-y-busqueda-algoritmos. Métodos de búsqueda. Internet. En línea. Página consultada el día 29 de noviembre del 2014. Disponible en: http://programandoconjava.es.tl/Metodos-De-Busqueda-y- Orenacion.html. Métodos de búsqueda. Internet. En línea. Página consultada el día 29 de noviembre del 2014. Disponible en: http://estructurasdatoscatolica.blogspot.mx/2010/05/metodos-ordenamiento-y- busqueda.html. Métodos de búsqueda. Internet. Fuera de línea. Página consultada el día 29 de noviembre del 2014. Disponible en: http://www.paginasprodigy.com/edserna/cursos/estddatos/notas/Unidad3.Ordenamientos.pdf Métodos de búsqueda. Internet. Fuera de línea. Página consultada el día 29 de noviembre del 2014. Disponible en: http://www.aliatuniversidades.com.mx/bibliotecasdigitales/pdf/sistemas/Estructura_de_datos/Estructura_de_datos_Parte_1.pdf.

×