SlideShare ist ein Scribd-Unternehmen logo
1 von 9
Downloaden Sie, um offline zu lesen
SEDE CONCEPCIÓN TALCAHUANO
Métodos de Búsqueda
y Ordenamiento
Asignatura:
Análisis de Algoritmo
Integrantes:
Cristopher Blum
Gonzalo Medina
Edison Sáez Echeverría
Joel Salgado Medina
Docente:
Pilar Pardo H
Fecha:
15/04/2014
2
INDICE
INTRODUCCIÓN.......................................................................................................................................3
ARITMÉTICA MODULAR.........................................................................................................................4
FUNCIÓN TRUNCAMIENTO ...................................................................................................................6
FUNCIÓN PLEGAMIENTO .....................................................................................................................6
TIPOS DE BUSQUEDA............................................................................................................................7
BÚSQUEDA LINEAL ........................................................................................................................................ 7
BÚSQUEDA BINARIA...................................................................................................................................... 8
CONCLUSIÓN...........................................................................................................................................9
3
Introducción
Un algoritmo de búsqueda es aquel que está diseñado para localizar un elemento con ciertas
propiedades dentro de una estructura de datos, por ejemplo, ubicar el registro correspondiente a
cierta persona en una base de datos, o el mejor movimiento en una partida de ajedrez.
A continuación se explican algunos métodos de búsqueda y ordenamiento de claves en arreglos.
4
Aritmética Modular
Cuando dividimos dos enteros tenemos una ecuación que se ve de la siguiente forma:
A / B = Q con residuo R
A es el dividendo
B es el divisor
Q es el cociente
R es el residuo
Algunas veces, solo estamos interesados en el valor del residuo de la división de A entre B.
Para estos casos existe un operador llamado operador modular (abreviado como mod).
Usando las mismas A, B, Q y R anteriores, tendríamos A mod B = R
Diremos esto como "A módulo B es congruente con R". Donde a B se le llama módulo.
Por ejemplo, sabemos que: 13/5 = 2 con un residuo de 3
o
13 mod 5 = 3
Visualiza el módulo con relojes
Observa lo que pasa cuando incrementamos números de uno en uno y luego los dividimos entre 3.
0/3=0 residuo 0
1/3=0 residuo 1
2/3=0 residuo 2
3/3=1 residuo 0
4/3=1 residuo 1
5/3=1 residuo 2
6/3=2 residuo 0
El residuo comienza en 0 e incrementa en 1 cada vez, hasta que el número alcanza uno menos el
número entre el cual estamos dividiendo.
Después de eso, la secuencia se repite.
Al notar esto, podemos visualizar el operador módulo usando círculos.
Escribimos 0 en la parte superior de un círculo y continuamos escribiendo números enteros en la
dirección de las manecillas del reloj, 1, 2,... hasta uno menos que el módulo.
5
Por ejemplo, un reloj con el 12 sustituido por un 0 sería el círculo para un módulo de 12.
Para encontrar el resultado de A mod B =? podemos seguir estos pasos:
1. Construir este reloj de tamaño B
2. Comenzar en 0 y movernos alrededor del reloj en A pasos
3. Dondequiera que aterricemos es nuestra solución.
(Si el número es positivo, damos el paso en sentido de las manecillas del reloj, si es
negativo damos el paso en contra de las manecillas del reloj)
Mitad del cuadrado: consiste en elevar al cuadrado la clave y coger las cifras centrales. Este
método también presenta problemas de colisión:
123*123=15129 --> 51
136*136=18496 --> 84
730*730=532900 --> 29
301*301=90601 --> 06
625*625=390625 --> 06
6
Función Truncamiento
Consiste en tomar algunos dígitos de la clave y formar con ellos una dirección. Este método es de
los más sencillos, pero es también de los que ofrecen menos uniformidad en la distribución de las
claves.
La elección de los dígitos es arbitraria. Podrían tomarse los dígitos de las posiciones impares o de
las pares. Luego podría unírseles de izquierda a derecha o de derecha a izquierda. La suma de
una unidad a los dígitos seleccionados es para obtener un valor entre 1 y 100.
Por ejemplo, si un número de 7 cifras se debe ordenar en un arreglo de elementos,
Se pueden tomar el segundo, el cuarto y el sexto para formar un nuevo número:
5700931 »> 703
3498610 »> 481
0056241 »> 064
9134720 »> 142
5174829 »> 142
• Ignora parte de la clave y se utiliza la parte restante directamente como índice
(considerando campos no numéricos y sus códigos numéricos).
• Si las claves, por ejemplo; son enteros de ocho dígitos y la tabla de transformación tiene
mil posiciones, entonces el primero, segundo y quinto dígitos desde la derecha pueden
formar la función de conversión. Ejemplo: 72588495 se convierte en 895. El truncamiento
es un método muy rápido, pero falla para distribuir las claves de modo uniforme.
Función Plegamiento
Consiste en dividir la clave (dígito) en partes iguales. Las operaciones entre los dígitos (partes)
puede ser por medio de suma, resta o multiplicación.
Clave (K) Plegamiento (suma) Dirección
197452 19 | 74 | 52 145
280304 28 | 03 | 04 35
484001 48 | 40 | 01 89
7
Tipos de Busqueda
Búsqueda lineal
Consiste en recorrer y examinar cada uno de los elementos del arreglo hasta encontrar el o los
elementos buscados, o hasta que se han mirado todos los elementos.
Este es el método de búsqueda más lento, pero si nuestra información se encuentra
completamente desordenada es el único que nos podrá ayudar a encontrar el dato que buscamos.
 MEJOR CASO: El algoritmo de búsqueda lineal termina tan pronto como encuentra el
elemento buscado en el array. Si tenemos suerte, puede ser que la primera posición
examinada contenga el elemento que buscamos, en cuyo caso el algoritmo informará que
tuvo éxito después de una sola comparación. Por tanto, la complejidad en este caso será O
(1).
 PEOR CASO: Sucede cuando encontramos X en la última posición del array. Como se
requieren n ejecuciones del bucle mientras, la cantidad de tiempo es proporcional a la
longitud del array n, más un cierto tiempo para realizar las instrucciones del bucle mientras
y para la llamada al método. Por lo tanto, la cantidad de tiempo es de la forma an + b
(instrucciones del mientras * tamaño del arreglo + llamada al método) para ciertas
constantes a y b, que representan el coste del bucle mientras y el costo de llamar el
método respectivamente.
 CASO MEDIO: Supongamos que cada elemento almacenado en el array es igualmente
probable de ser buscado. La media puede calcularse tomando el tiempo total de encontrar
todos los elementos y dividiéndolo por n:
Ejemplo:
8
Búsqueda Binaria
Consiste en reducir paulatinamente el ámbito de búsqueda a la mitad de los elementos, basándose
en comparar el elemento a buscar con el elemento que se encuentra en la mitad del intervalo y en
base a esta comparación de los diferentes casos que pueden darse:
 Si el elemento buscado es menor que el elemento medio, entonces sabemos que el
elemento está en la mitad inferior de la tabla.
 Si es mayor es porque el elemento está en la mitad superior.
 Si es igual se finaliza con éxito la búsqueda ya que se ha encontrado el elemento.
Este método puede utilizarse en vectores, matrices y árboles.
Ejemplo (código):
9
Conclusión
Como métodos de búsqueda y ordenamiento hay varios, lo importante a la hora de
utilizarlos es saber cuál es el más conveniente, por ejemplo, en arreglo de datos ordenados es más
efectivo utilizar una búsqueda binaria para encontrar un dato que hacerlo de forma lineal.
Es importante saber con qué tipo de arreglo se está trabajando para realizar la búsqueda
más eficiente y rápida.

Weitere ähnliche Inhalte

Was ist angesagt?

Informe algoritmos de busqueda
Informe algoritmos de busquedaInforme algoritmos de busqueda
Informe algoritmos de busquedaGonzalo Retamal
 
Aritmética Modular
Aritmética ModularAritmética Modular
Aritmética Modularvvillegass
 
hashing y colisiones
hashing y colisioneshashing y colisiones
hashing y colisionesemiru48
 
Programación Búsqueda Binaria y Método Burbuja
Programación Búsqueda Binaria y Método BurbujaProgramación Búsqueda Binaria y Método Burbuja
Programación Búsqueda Binaria y Método BurbujaEVelyn MIchelle
 
Aplicación de métodos numéricos de análisis. Cálculo del tipo de interés en l...
Aplicación de métodos numéricos de análisis. Cálculo del tipo de interés en l...Aplicación de métodos numéricos de análisis. Cálculo del tipo de interés en l...
Aplicación de métodos numéricos de análisis. Cálculo del tipo de interés en l...José Manuel Gómez Vega
 
Informe Análisis Búsqueda Binaria
Informe Análisis Búsqueda BinariaInforme Análisis Búsqueda Binaria
Informe Análisis Búsqueda BinariaJose Rivera
 
Tema 2 Diccionarios. Tablas Hash.
Tema 2 Diccionarios. Tablas Hash.Tema 2 Diccionarios. Tablas Hash.
Tema 2 Diccionarios. Tablas Hash.Carlos A. Iglesias
 
Slideshare Serie de Taylor
Slideshare Serie de TaylorSlideshare Serie de Taylor
Slideshare Serie de TaylorJoseLopiccolo
 
Prueba Poker
Prueba PokerPrueba Poker
Prueba PokerDiana
 
Transformaciones lineales
Transformaciones linealesTransformaciones lineales
Transformaciones lineales24799292
 

Was ist angesagt? (18)

Informe algoritmos de busqueda
Informe algoritmos de busquedaInforme algoritmos de busqueda
Informe algoritmos de busqueda
 
Aritmetica Modular
Aritmetica ModularAritmetica Modular
Aritmetica Modular
 
Aritmética Modular
Aritmética ModularAritmética Modular
Aritmética Modular
 
hashing y colisiones
hashing y colisioneshashing y colisiones
hashing y colisiones
 
Programación Búsqueda Binaria y Método Burbuja
Programación Búsqueda Binaria y Método BurbujaProgramación Búsqueda Binaria y Método Burbuja
Programación Búsqueda Binaria y Método Burbuja
 
Aplicación de métodos numéricos de análisis. Cálculo del tipo de interés en l...
Aplicación de métodos numéricos de análisis. Cálculo del tipo de interés en l...Aplicación de métodos numéricos de análisis. Cálculo del tipo de interés en l...
Aplicación de métodos numéricos de análisis. Cálculo del tipo de interés en l...
 
Informe Análisis Búsqueda Binaria
Informe Análisis Búsqueda BinariaInforme Análisis Búsqueda Binaria
Informe Análisis Búsqueda Binaria
 
Pruebas De Varianza Uniformidad E Independencia
Pruebas De Varianza Uniformidad E IndependenciaPruebas De Varianza Uniformidad E Independencia
Pruebas De Varianza Uniformidad E Independencia
 
Algoritmos divide y vencerás
Algoritmos divide y vencerásAlgoritmos divide y vencerás
Algoritmos divide y vencerás
 
Divide y Vencerás
Divide y VencerásDivide y Vencerás
Divide y Vencerás
 
Tema 2 Diccionarios. Tablas Hash.
Tema 2 Diccionarios. Tablas Hash.Tema 2 Diccionarios. Tablas Hash.
Tema 2 Diccionarios. Tablas Hash.
 
Numeros Pseudoaleatorios
Numeros PseudoaleatoriosNumeros Pseudoaleatorios
Numeros Pseudoaleatorios
 
Slideshare Serie de Taylor
Slideshare Serie de TaylorSlideshare Serie de Taylor
Slideshare Serie de Taylor
 
Prueba Poker
Prueba PokerPrueba Poker
Prueba Poker
 
Transformaciones lineales
Transformaciones linealesTransformaciones lineales
Transformaciones lineales
 
Funciones (parte ii) 1
Funciones (parte ii) 1Funciones (parte ii) 1
Funciones (parte ii) 1
 
Funciones (parte ii)
Funciones (parte ii)Funciones (parte ii)
Funciones (parte ii)
 
Pruebas de autocorrelacion yule
Pruebas de autocorrelacion yulePruebas de autocorrelacion yule
Pruebas de autocorrelacion yule
 

Ähnlich wie método de búsqueda Truncamiento

Ähnlich wie método de búsqueda Truncamiento (20)

Informe analisis
Informe analisisInforme analisis
Informe analisis
 
Hash mitad al cuadrado pdf
Hash mitad al cuadrado pdfHash mitad al cuadrado pdf
Hash mitad al cuadrado pdf
 
Hash mitad al cuadrado pdf
Hash mitad al cuadrado pdfHash mitad al cuadrado pdf
Hash mitad al cuadrado pdf
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 
Informe aritmetica modular
Informe aritmetica modularInforme aritmetica modular
Informe aritmetica modular
 
Documento de Busqueda Binaria
Documento de Busqueda BinariaDocumento de Busqueda Binaria
Documento de Busqueda Binaria
 
Algoritmos de búsqueda
Algoritmos de búsquedaAlgoritmos de búsqueda
Algoritmos de búsqueda
 
Informe algoritmos de busqueda
Informe algoritmos de busquedaInforme algoritmos de busqueda
Informe algoritmos de busqueda
 
Método rápido (quicksort) (1)
Método rápido (quicksort) (1)Método rápido (quicksort) (1)
Método rápido (quicksort) (1)
 
Método rápido (quicksort) EXPOSICION 4TA UNIDAD ESTRUCTURA Y ORGANIZACIÓN DE ...
Método rápido (quicksort) EXPOSICION 4TA UNIDAD ESTRUCTURA Y ORGANIZACIÓN DE ...Método rápido (quicksort) EXPOSICION 4TA UNIDAD ESTRUCTURA Y ORGANIZACIÓN DE ...
Método rápido (quicksort) EXPOSICION 4TA UNIDAD ESTRUCTURA Y ORGANIZACIÓN DE ...
 
Busqueda de datos
Busqueda de datosBusqueda de datos
Busqueda de datos
 
P3si
P3siP3si
P3si
 
Metodos de Búsqueda
Metodos de BúsquedaMetodos de Búsqueda
Metodos de Búsqueda
 
Informe insercion
Informe insercionInforme insercion
Informe insercion
 
Informe ordenamiento
Informe ordenamientoInforme ordenamiento
Informe ordenamiento
 
Unico 2
Unico 2Unico 2
Unico 2
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busqueda
 
Presentacion
PresentacionPresentacion
Presentacion
 
datos de ordenamiento
datos de ordenamientodatos de ordenamiento
datos de ordenamiento
 
Algoritmos Ordenamiento
Algoritmos OrdenamientoAlgoritmos Ordenamiento
Algoritmos Ordenamiento
 

Kürzlich hochgeladen

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 

Kürzlich hochgeladen (12)

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 

método de búsqueda Truncamiento

  • 1. SEDE CONCEPCIÓN TALCAHUANO Métodos de Búsqueda y Ordenamiento Asignatura: Análisis de Algoritmo Integrantes: Cristopher Blum Gonzalo Medina Edison Sáez Echeverría Joel Salgado Medina Docente: Pilar Pardo H Fecha: 15/04/2014
  • 2. 2 INDICE INTRODUCCIÓN.......................................................................................................................................3 ARITMÉTICA MODULAR.........................................................................................................................4 FUNCIÓN TRUNCAMIENTO ...................................................................................................................6 FUNCIÓN PLEGAMIENTO .....................................................................................................................6 TIPOS DE BUSQUEDA............................................................................................................................7 BÚSQUEDA LINEAL ........................................................................................................................................ 7 BÚSQUEDA BINARIA...................................................................................................................................... 8 CONCLUSIÓN...........................................................................................................................................9
  • 3. 3 Introducción Un algoritmo de búsqueda es aquel que está diseñado para localizar un elemento con ciertas propiedades dentro de una estructura de datos, por ejemplo, ubicar el registro correspondiente a cierta persona en una base de datos, o el mejor movimiento en una partida de ajedrez. A continuación se explican algunos métodos de búsqueda y ordenamiento de claves en arreglos.
  • 4. 4 Aritmética Modular Cuando dividimos dos enteros tenemos una ecuación que se ve de la siguiente forma: A / B = Q con residuo R A es el dividendo B es el divisor Q es el cociente R es el residuo Algunas veces, solo estamos interesados en el valor del residuo de la división de A entre B. Para estos casos existe un operador llamado operador modular (abreviado como mod). Usando las mismas A, B, Q y R anteriores, tendríamos A mod B = R Diremos esto como "A módulo B es congruente con R". Donde a B se le llama módulo. Por ejemplo, sabemos que: 13/5 = 2 con un residuo de 3 o 13 mod 5 = 3 Visualiza el módulo con relojes Observa lo que pasa cuando incrementamos números de uno en uno y luego los dividimos entre 3. 0/3=0 residuo 0 1/3=0 residuo 1 2/3=0 residuo 2 3/3=1 residuo 0 4/3=1 residuo 1 5/3=1 residuo 2 6/3=2 residuo 0 El residuo comienza en 0 e incrementa en 1 cada vez, hasta que el número alcanza uno menos el número entre el cual estamos dividiendo. Después de eso, la secuencia se repite. Al notar esto, podemos visualizar el operador módulo usando círculos. Escribimos 0 en la parte superior de un círculo y continuamos escribiendo números enteros en la dirección de las manecillas del reloj, 1, 2,... hasta uno menos que el módulo.
  • 5. 5 Por ejemplo, un reloj con el 12 sustituido por un 0 sería el círculo para un módulo de 12. Para encontrar el resultado de A mod B =? podemos seguir estos pasos: 1. Construir este reloj de tamaño B 2. Comenzar en 0 y movernos alrededor del reloj en A pasos 3. Dondequiera que aterricemos es nuestra solución. (Si el número es positivo, damos el paso en sentido de las manecillas del reloj, si es negativo damos el paso en contra de las manecillas del reloj) Mitad del cuadrado: consiste en elevar al cuadrado la clave y coger las cifras centrales. Este método también presenta problemas de colisión: 123*123=15129 --> 51 136*136=18496 --> 84 730*730=532900 --> 29 301*301=90601 --> 06 625*625=390625 --> 06
  • 6. 6 Función Truncamiento Consiste en tomar algunos dígitos de la clave y formar con ellos una dirección. Este método es de los más sencillos, pero es también de los que ofrecen menos uniformidad en la distribución de las claves. La elección de los dígitos es arbitraria. Podrían tomarse los dígitos de las posiciones impares o de las pares. Luego podría unírseles de izquierda a derecha o de derecha a izquierda. La suma de una unidad a los dígitos seleccionados es para obtener un valor entre 1 y 100. Por ejemplo, si un número de 7 cifras se debe ordenar en un arreglo de elementos, Se pueden tomar el segundo, el cuarto y el sexto para formar un nuevo número: 5700931 »> 703 3498610 »> 481 0056241 »> 064 9134720 »> 142 5174829 »> 142 • Ignora parte de la clave y se utiliza la parte restante directamente como índice (considerando campos no numéricos y sus códigos numéricos). • Si las claves, por ejemplo; son enteros de ocho dígitos y la tabla de transformación tiene mil posiciones, entonces el primero, segundo y quinto dígitos desde la derecha pueden formar la función de conversión. Ejemplo: 72588495 se convierte en 895. El truncamiento es un método muy rápido, pero falla para distribuir las claves de modo uniforme. Función Plegamiento Consiste en dividir la clave (dígito) en partes iguales. Las operaciones entre los dígitos (partes) puede ser por medio de suma, resta o multiplicación. Clave (K) Plegamiento (suma) Dirección 197452 19 | 74 | 52 145 280304 28 | 03 | 04 35 484001 48 | 40 | 01 89
  • 7. 7 Tipos de Busqueda Búsqueda lineal Consiste en recorrer y examinar cada uno de los elementos del arreglo hasta encontrar el o los elementos buscados, o hasta que se han mirado todos los elementos. Este es el método de búsqueda más lento, pero si nuestra información se encuentra completamente desordenada es el único que nos podrá ayudar a encontrar el dato que buscamos.  MEJOR CASO: El algoritmo de búsqueda lineal termina tan pronto como encuentra el elemento buscado en el array. Si tenemos suerte, puede ser que la primera posición examinada contenga el elemento que buscamos, en cuyo caso el algoritmo informará que tuvo éxito después de una sola comparación. Por tanto, la complejidad en este caso será O (1).  PEOR CASO: Sucede cuando encontramos X en la última posición del array. Como se requieren n ejecuciones del bucle mientras, la cantidad de tiempo es proporcional a la longitud del array n, más un cierto tiempo para realizar las instrucciones del bucle mientras y para la llamada al método. Por lo tanto, la cantidad de tiempo es de la forma an + b (instrucciones del mientras * tamaño del arreglo + llamada al método) para ciertas constantes a y b, que representan el coste del bucle mientras y el costo de llamar el método respectivamente.  CASO MEDIO: Supongamos que cada elemento almacenado en el array es igualmente probable de ser buscado. La media puede calcularse tomando el tiempo total de encontrar todos los elementos y dividiéndolo por n: Ejemplo:
  • 8. 8 Búsqueda Binaria Consiste en reducir paulatinamente el ámbito de búsqueda a la mitad de los elementos, basándose en comparar el elemento a buscar con el elemento que se encuentra en la mitad del intervalo y en base a esta comparación de los diferentes casos que pueden darse:  Si el elemento buscado es menor que el elemento medio, entonces sabemos que el elemento está en la mitad inferior de la tabla.  Si es mayor es porque el elemento está en la mitad superior.  Si es igual se finaliza con éxito la búsqueda ya que se ha encontrado el elemento. Este método puede utilizarse en vectores, matrices y árboles. Ejemplo (código):
  • 9. 9 Conclusión Como métodos de búsqueda y ordenamiento hay varios, lo importante a la hora de utilizarlos es saber cuál es el más conveniente, por ejemplo, en arreglo de datos ordenados es más efectivo utilizar una búsqueda binaria para encontrar un dato que hacerlo de forma lineal. Es importante saber con qué tipo de arreglo se está trabajando para realizar la búsqueda más eficiente y rápida.