SlideShare una empresa de Scribd logo
1 de 48
ESTRUCTURAS DE DATOS II ,[object Object],[object Object],[object Object],[object Object]
INTRODUCCIÓN ,[object Object],[object Object],[object Object],[object Object]
Búsqueda ,[object Object],[object Object],[object Object]
Búsqueda ,[object Object],[object Object],[object Object]
Búsqueda Interna ,[object Object],[object Object],[object Object]
Búsqueda Interna ,[object Object],[object Object],[object Object],[object Object],[object Object]
Búsqueda Secuencial ,[object Object],[object Object],[object Object],[object Object],[object Object]
Búsqueda Secuencial Secuencial Desordenado1  ( V, N ,X ) {Este algoritmo busca secuencialmente el elemento X en el arreglo desordenado V, de N elementos } { I es una variable de tipo entero, BANDERA es una variable de tipo Booleano} 1. I=1 y BANDERA=Falso 2. Repetir mientras (I     N) y (BANDERA=FALSO) 2.1 Si V[I] = x entonces Hacer BANDERA =VERDADERO si no Hacer I =I + 1 2.2 {Fin del condicional del paso 2.1} 3. {Fin del ciclo des paso 2} 4. Si BANDERA = VERDADERO entonces Escribir "El elemento esta en la posición I" si no Escribir "El elemento no esta en el arreglo" 5. {Fin del condicional del paso 4}
Búsqueda Secuencial Secuencial Desordenado2  ( V, N ,X ) {Este algoritmo busca secuencialmente el elemento X en el arreglo desordenado V, de N elementos} { I es una variable de tipo entero} 1. I=1 2. Repetir mientras (I     N) y (V[I]     X) Hacer I =I + 1 3. {Fin del condicional del paso 2} 4. Si (I>N) entonces Escribir "El elemento no esta en el arreglo"  si no  Escribir "El elemento esta en la posición I" 5. {Fin del condicional del paso 4}
Búsqueda Secuencial Secuencial Ordenado  ( V, N ,X ) {Este algoritmo busca secuencialmente el elemento X en el arreglo ordenado V, de N elementos, El arreglo esta ordenado ascendentemente V[1]    V[2]    …     V[N] } { I es una variable de tipo entero} 1. I=1 2. Repetir mientras (I     N) y (X > V[I]) Hacer I =I + 1 3. {Fin del condicional del paso 2} 4. Si (I>N) o (X<V[I]) entonces Escribir &quot;El elemento no esta en el arreglo&quot;  si no  Escribir &quot;El elemento esta en la posición I&quot; 5. {Fin del condicional del paso 4}
Búsqueda Secuencial Secuencial _Listas  ( P ,X ) {Este algoritmo busca secuencialmente el elemento X en la lista cuyo nodo inicial está apuntado por P } { Q es una variable puntero de tipo entero} 1. Q=P  2. Repetir mientras (Q  NULL) y (Q  INFO     X   ) Hacer Q = Q  LIGA 3. {Fin del condicional del paso 2} 4. Si (Q = NULL) entonces Escribir &quot;El elemento no esta en la lista&quot;  si no  Escribir &quot;El elemento esta en la lista&quot; 5. {Fin del condicional del paso 4}
Búsqueda Secuencial  BINARIA Binaria  ( V, N ,X ) {Este algoritmo busca secuencialmente el elemento X en el arreglo ordenado V, de N elementos} { Izq, Cen y Der son variables de tipo entero, Bandera es una variable de tipo booleano } 1. Izq=1, Der=N; y Bandera=FALSO 2. Repetir mientras (Izq     Der) y (Bandera = FALSO) Hacer Cen = Parte Entera ((Izq + Der)/2) 2.1 Si X=V[Cen] Entonces  Hacer Bandera=VERDADERO; si no {Redefinir intervalo de búsqueda} 2.1.1  Si (X>V[Cen]) Entonces Hacer Izq=CEN+1 Si no  Hacer Der=Cen-1 2.1.2 {Fin del paso 2.1.1} 2.2{fin del condicional del paso 2.1} 3. {Fin del ciclo del paso 2} 4. Si (Bandera = Verdadero) Entonces  Escribir &quot; El elemento esta en la posición Cen&quot;  Si no Escribir &quot; El elemento no esta en el arreglo&quot; 5. {Fin del condicional del paso 4}
Búsqueda por Transformación de Claves (Hash) Este método permite  asignar   a un valor una posición determinada de un arreglo  y de igual forma permite  recuperarla fácilmente .  Convierte  una clave dada en una dirección  ( índice ), dentro del arreglo.
Búsqueda por Transformación de Claves (Hash) ,[object Object],[object Object],[object Object]
Búsqueda por Transformación de Claves (Hash) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Transformación de Claves (Hash) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Función Modulo (Por división) Consiste en tomar el residuo de la división de la clave entre el número de componentes del arreglo. Suponga que se tiene un arreglo de  N  elementos y  K  es la clave del dato a buscar. La función hash queda: H(k) = (K mod N) +1 Para lograr una mayor uniformidad en la distribución,  N  debe ser un número primo. (El número primo próximo a  N )
Función Modulo (Por división) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Función Modulo (Por división) ,[object Object],[object Object],[object Object],[object Object]
Función Cuadrado Consiste en elevar al cuadrado la clave y tomar los dígitos centrales como dirección. El número de dígitos a tomar queda determinado por el rango del índice. La función hash queda: H(k) =  dígitos centrales  (K  2 ) +1 Para lograr una mayor uniformidad en la distribución, N debe ser un número primo. (El número primo próximo a N)
Función Cuadrado ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Función Plegamiento Consiste en  dividir la clave en partes de igual número de dígitos  (La última puede tener menos dígitos) y operar con ellos  tomando como dirección los dígitos menos significativos .  La operación entre las partes puede hacerse por medio de sumas o multiplicaciones.  H(k)= digitos_menos_significativos ((d1..di)+(di+1..dj)+...+(d1..dn))+1
Función Plegamiento ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Función Truncamiento Consiste en tomar algunos 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 ofrece menos uniformidad en la distribución de las claves.  Se pueden elegir los dígitos de las posiciones pares o impares. H(k) = elegir_digitos(d1,d2,...,dn)+1
Función Truncamiento ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Soluciones de colisiones ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Reasignación ,[object Object],[object Object],[object Object],[object Object],[object Object]
Prueba Lineal ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
PRUEBA LINEAL ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Prueba Lineal ,[object Object],[object Object],[object Object],[object Object]
Prueba Lineal Ejemplo: V=[ 25, 43, 56, 35, 54, 13, 80, 104 ] H(K)= (k mod 10) +1 43 54 25 56 8 104 13 35 K  H(K) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],3 4 5 2 6 7 1 10 9 8
Prueba Cuadrática ,[object Object],[object Object],[object Object],[object Object],[object Object]
Prueba Cuadrática ,[object Object],[object Object],[object Object]
Prueba Cuadrática ,[object Object],[object Object],[object Object],[object Object],Solución de colisiones por la prueba cuadrática K=35 D I DX 6 1 2 7 10
Prueba Cuadrática ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Doble Dirección ,[object Object],[object Object]
Doble Dirección Ejemplo: V=[ 25, 43, 56, 35, 54, 13, 80, 104 ] H(K)= (k mod 10) +1 43 54 25 56 80 13 104 35 3 4 5 2 6 7 1 10 9 8 K H(K) H’ (D)  H’(D’) H’ (D´´)  25 43 56 35 54 13 80 104 6 4 7 6 5 4 1 5 - - - 8 - 6 - 7 - - - - - 8 - 9 - - - - - 10 - -
Doble Dirección ,[object Object],[object Object]
Doble Dirección ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ARREGLOS ANIDADOS ,[object Object],[object Object],[object Object],[object Object]
Arreglos Anidados ,[object Object],[object Object],[object Object],[object Object],80 - - - - - - 43 54 25 56 - - - - - 13 104 35 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ENCADENAMIENTO ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Encadenamiento ,[object Object],[object Object],[object Object],[object Object],43 54 25 80 56 13 104 35 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],K H(K)
Arboles de Búsqueda ,[object Object],[object Object],[object Object]
Arboles de búsqueda A B C D E H P S T    NTE  AJO A  O E N A  RAS E  I O A  O   BE  N TRA   SDE  STA CIA   TRE   GUN BRE   M  ARA R   Representación de Tries
Arboles de búsqueda A B C D E H P S T    N  A A  O E N A  R E  I O A  O   BE  NTRA     SDE  STA  CIA   GUN BRE   N  ARA R   Representación de un trie con discriminación 2    TE  JO     TRE RAS
Arboles de búsqueda NTE  A N   BE  N SDE  Representación del trie como Bosque AJO   A  B  C  O TRA D  E  E  TRE   A H  CIA  STA  A RA  R  P  O E GUN  N  S  I O BRE    RAS T
Arboles de búsqueda NTE  A N   BE  N SDE  Representación del bosque como árbol binario AJO A  B  C  O TRA D  E E  TRE   A H  CIA  STA  RAS T   A RA  R  P  O E GUN  N  S  I O BRE   

Más contenido relacionado

La actualidad más candente

Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
ITCV
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busqueda
Cristopher Morales Ruiz
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
Blanca Parra
 
conceptos de Punteros y Nodos
conceptos de Punteros y Nodosconceptos de Punteros y Nodos
conceptos de Punteros y Nodos
Boris Salleg
 
Diapositiva de prueba
Diapositiva de pruebaDiapositiva de prueba
Diapositiva de prueba
JPi2013
 

La actualidad más candente (20)

Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busqueda
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras Lineales
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 
conceptos de Punteros y Nodos
conceptos de Punteros y Nodosconceptos de Punteros y Nodos
conceptos de Punteros y Nodos
 
Programación 3: tablas de dispersión
Programación 3: tablas de dispersiónProgramación 3: tablas de dispersión
Programación 3: tablas de dispersión
 
Programación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesProgramación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operaciones
 
Diapositiva de prueba
Diapositiva de pruebaDiapositiva de prueba
Diapositiva de prueba
 
3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Arboles mate discreta
Arboles mate discretaArboles mate discreta
Arboles mate discreta
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
 
Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++
 

Destacado

Metodos de busqueda en internet
Metodos de busqueda en internetMetodos de busqueda en internet
Metodos de busqueda en internet
omarfabian94
 
Seguridad informatica clase 2a
Seguridad informatica clase 2aSeguridad informatica clase 2a
Seguridad informatica clase 2a
Marco Antonio
 
Buscadores y metodos de busqueda
Buscadores y metodos de busquedaBuscadores y metodos de busqueda
Buscadores y metodos de busqueda
mercenaries128
 
Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)
edopaz
 
Metodos de búsqueda en internet
Metodos de búsqueda en internetMetodos de búsqueda en internet
Metodos de búsqueda en internet
Gina Patiño
 
Estructura De Datos Registro
Estructura De Datos RegistroEstructura De Datos Registro
Estructura De Datos Registro
Marco Antonio
 
Socialsurf 2012 company profile ita
Socialsurf 2012 company profile itaSocialsurf 2012 company profile ita
Socialsurf 2012 company profile ita
manuelaronghi
 
Asesoria Nertóbriga
Asesoria NertóbrigaAsesoria Nertóbriga
Asesoria Nertóbriga
ricla1980
 

Destacado (20)

Metodo de busqueda secuencial
Metodo de busqueda secuencialMetodo de busqueda secuencial
Metodo de busqueda secuencial
 
Búsqueda secuencial en tabla ordenada
Búsqueda secuencial  en tabla ordenadaBúsqueda secuencial  en tabla ordenada
Búsqueda secuencial en tabla ordenada
 
Metodos de busqueda en internet
Metodos de busqueda en internetMetodos de busqueda en internet
Metodos de busqueda en internet
 
Algoritmos y Estructura de Datos
Algoritmos y Estructura de DatosAlgoritmos y Estructura de Datos
Algoritmos y Estructura de Datos
 
Seguridad informatica clase 2a
Seguridad informatica clase 2aSeguridad informatica clase 2a
Seguridad informatica clase 2a
 
Buscadores y metodos de busqueda
Buscadores y metodos de busquedaBuscadores y metodos de busqueda
Buscadores y metodos de busqueda
 
Busqueda Secuencial
Busqueda SecuencialBusqueda Secuencial
Busqueda Secuencial
 
Documento de Busqueda Binaria
Documento de Busqueda BinariaDocumento de Busqueda Binaria
Documento de Busqueda Binaria
 
Métodos de búsqueda
Métodos de búsquedaMétodos de búsqueda
Métodos de búsqueda
 
Metodos de busqueda
Metodos de busquedaMetodos de busqueda
Metodos de busqueda
 
Método de ordenación por inserción directa
Método de ordenación por inserción directaMétodo de ordenación por inserción directa
Método de ordenación por inserción directa
 
Algoritmo por seleccion
Algoritmo por seleccionAlgoritmo por seleccion
Algoritmo por seleccion
 
Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)
 
Busqueda lineal y busqueda binaria
Busqueda lineal y busqueda binariaBusqueda lineal y busqueda binaria
Busqueda lineal y busqueda binaria
 
Metodos de búsqueda en internet
Metodos de búsqueda en internetMetodos de búsqueda en internet
Metodos de búsqueda en internet
 
Estructura De Datos Registro
Estructura De Datos RegistroEstructura De Datos Registro
Estructura De Datos Registro
 
Socialsurf 2012 company profile ita
Socialsurf 2012 company profile itaSocialsurf 2012 company profile ita
Socialsurf 2012 company profile ita
 
Hacia una estrategia_nacional_para_el_desarrollo_sostenible
Hacia una estrategia_nacional_para_el_desarrollo_sostenibleHacia una estrategia_nacional_para_el_desarrollo_sostenible
Hacia una estrategia_nacional_para_el_desarrollo_sostenible
 
Asesoria Nertóbriga
Asesoria NertóbrigaAsesoria Nertóbriga
Asesoria Nertóbriga
 
03 la maduración del ser humano
03 la maduración del ser humano03 la maduración del ser humano
03 la maduración del ser humano
 

Similar a Metodos Busqueda Interna

Unidad 8 metodos_de_busqueda
Unidad 8 metodos_de_busquedaUnidad 8 metodos_de_busqueda
Unidad 8 metodos_de_busqueda
rehoscript
 
Hash mitad al cuadrado pdf
Hash mitad al cuadrado pdfHash mitad al cuadrado pdf
Hash mitad al cuadrado pdf
Carlos Carriel
 
Manejo de Estructura de Datos, Tipos, Beneficios
Manejo de Estructura de Datos, Tipos, BeneficiosManejo de Estructura de Datos, Tipos, Beneficios
Manejo de Estructura de Datos, Tipos, Beneficios
ejosue23
 
jaisan
jaisanjaisan
jaisan
jai
 
Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busqueda
Johnfornerod
 
Metodos de Búsqueda
Metodos de BúsquedaMetodos de Búsqueda
Metodos de Búsqueda
Pedro Avaria
 
Metodos De Ordenamiento
Metodos De OrdenamientoMetodos De Ordenamiento
Metodos De Ordenamiento
lichic
 
Ordenamiento Por MéTodo De InsercióN Binaria
Ordenamiento  Por MéTodo De InsercióN BinariaOrdenamiento  Por MéTodo De InsercióN Binaria
Ordenamiento Por MéTodo De InsercióN Binaria
Angie Suarez
 
Dipersion hash
Dipersion hashDipersion hash
Dipersion hash
UDG
 
Dipersion
DipersionDipersion
Dipersion
UDG
 

Similar a Metodos Busqueda Interna (20)

Unidad 8 metodos_de_busqueda
Unidad 8 metodos_de_busquedaUnidad 8 metodos_de_busqueda
Unidad 8 metodos_de_busqueda
 
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
 
Hash mitad al cuadrado pdf
Hash mitad al cuadrado pdfHash mitad al cuadrado pdf
Hash mitad al cuadrado pdf
 
Manejo de Estructura de Datos, Tipos, Beneficios
Manejo de Estructura de Datos, Tipos, BeneficiosManejo de Estructura de Datos, Tipos, Beneficios
Manejo de Estructura de Datos, Tipos, Beneficios
 
12 conjuntos mapas1t2018
12 conjuntos mapas1t201812 conjuntos mapas1t2018
12 conjuntos mapas1t2018
 
jaisan
jaisanjaisan
jaisan
 
Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busqueda
 
Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busqueda
 
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
 
Metodos de Búsqueda
Metodos de BúsquedaMetodos de Búsqueda
Metodos de Búsqueda
 
Metodos De Ordenamiento
Metodos De OrdenamientoMetodos De Ordenamiento
Metodos De Ordenamiento
 
Ordenamiento Por MéTodo De InsercióN Binaria
Ordenamiento  Por MéTodo De InsercióN BinariaOrdenamiento  Por MéTodo De InsercióN Binaria
Ordenamiento Por MéTodo De InsercióN Binaria
 
Arreglos programacion
Arreglos programacionArreglos programacion
Arreglos programacion
 
Java
JavaJava
Java
 
metodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdfmetodos-de-ordenamiento.pdf
metodos-de-ordenamiento.pdf
 
Algoritmos de búsqueda
Algoritmos de búsqueda Algoritmos de búsqueda
Algoritmos de búsqueda
 
Dipersion hash
Dipersion hashDipersion hash
Dipersion hash
 
Ordenar arreglos en java
Ordenar arreglos en javaOrdenar arreglos en java
Ordenar arreglos en java
 
Dipersion
DipersionDipersion
Dipersion
 

Metodos Busqueda Interna

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. Búsqueda Secuencial Secuencial Desordenado1 ( V, N ,X ) {Este algoritmo busca secuencialmente el elemento X en el arreglo desordenado V, de N elementos } { I es una variable de tipo entero, BANDERA es una variable de tipo Booleano} 1. I=1 y BANDERA=Falso 2. Repetir mientras (I  N) y (BANDERA=FALSO) 2.1 Si V[I] = x entonces Hacer BANDERA =VERDADERO si no Hacer I =I + 1 2.2 {Fin del condicional del paso 2.1} 3. {Fin del ciclo des paso 2} 4. Si BANDERA = VERDADERO entonces Escribir &quot;El elemento esta en la posición I&quot; si no Escribir &quot;El elemento no esta en el arreglo&quot; 5. {Fin del condicional del paso 4}
  • 9. Búsqueda Secuencial Secuencial Desordenado2 ( V, N ,X ) {Este algoritmo busca secuencialmente el elemento X en el arreglo desordenado V, de N elementos} { I es una variable de tipo entero} 1. I=1 2. Repetir mientras (I  N) y (V[I]  X) Hacer I =I + 1 3. {Fin del condicional del paso 2} 4. Si (I>N) entonces Escribir &quot;El elemento no esta en el arreglo&quot; si no Escribir &quot;El elemento esta en la posición I&quot; 5. {Fin del condicional del paso 4}
  • 10. Búsqueda Secuencial Secuencial Ordenado ( V, N ,X ) {Este algoritmo busca secuencialmente el elemento X en el arreglo ordenado V, de N elementos, El arreglo esta ordenado ascendentemente V[1]  V[2]  …  V[N] } { I es una variable de tipo entero} 1. I=1 2. Repetir mientras (I  N) y (X > V[I]) Hacer I =I + 1 3. {Fin del condicional del paso 2} 4. Si (I>N) o (X<V[I]) entonces Escribir &quot;El elemento no esta en el arreglo&quot; si no Escribir &quot;El elemento esta en la posición I&quot; 5. {Fin del condicional del paso 4}
  • 11. Búsqueda Secuencial Secuencial _Listas ( P ,X ) {Este algoritmo busca secuencialmente el elemento X en la lista cuyo nodo inicial está apuntado por P } { Q es una variable puntero de tipo entero} 1. Q=P 2. Repetir mientras (Q  NULL) y (Q  INFO  X ) Hacer Q = Q  LIGA 3. {Fin del condicional del paso 2} 4. Si (Q = NULL) entonces Escribir &quot;El elemento no esta en la lista&quot; si no Escribir &quot;El elemento esta en la lista&quot; 5. {Fin del condicional del paso 4}
  • 12. Búsqueda Secuencial BINARIA Binaria ( V, N ,X ) {Este algoritmo busca secuencialmente el elemento X en el arreglo ordenado V, de N elementos} { Izq, Cen y Der son variables de tipo entero, Bandera es una variable de tipo booleano } 1. Izq=1, Der=N; y Bandera=FALSO 2. Repetir mientras (Izq  Der) y (Bandera = FALSO) Hacer Cen = Parte Entera ((Izq + Der)/2) 2.1 Si X=V[Cen] Entonces Hacer Bandera=VERDADERO; si no {Redefinir intervalo de búsqueda} 2.1.1 Si (X>V[Cen]) Entonces Hacer Izq=CEN+1 Si no Hacer Der=Cen-1 2.1.2 {Fin del paso 2.1.1} 2.2{fin del condicional del paso 2.1} 3. {Fin del ciclo del paso 2} 4. Si (Bandera = Verdadero) Entonces Escribir &quot; El elemento esta en la posición Cen&quot; Si no Escribir &quot; El elemento no esta en el arreglo&quot; 5. {Fin del condicional del paso 4}
  • 13. Búsqueda por Transformación de Claves (Hash) Este método permite asignar a un valor una posición determinada de un arreglo y de igual forma permite recuperarla fácilmente . Convierte una clave dada en una dirección ( índice ), dentro del arreglo.
  • 14.
  • 15.
  • 16.
  • 17. Función Modulo (Por división) Consiste en tomar el residuo de la división de la clave entre el número de componentes del arreglo. Suponga que se tiene un arreglo de N elementos y K es la clave del dato a buscar. La función hash queda: H(k) = (K mod N) +1 Para lograr una mayor uniformidad en la distribución, N debe ser un número primo. (El número primo próximo a N )
  • 18.
  • 19.
  • 20. Función Cuadrado Consiste en elevar al cuadrado la clave y tomar los dígitos centrales como dirección. El número de dígitos a tomar queda determinado por el rango del índice. La función hash queda: H(k) = dígitos centrales (K 2 ) +1 Para lograr una mayor uniformidad en la distribución, N debe ser un número primo. (El número primo próximo a N)
  • 21.
  • 22. Función Plegamiento Consiste en dividir la clave en partes de igual número de dígitos (La última puede tener menos dígitos) y operar con ellos tomando como dirección los dígitos menos significativos . La operación entre las partes puede hacerse por medio de sumas o multiplicaciones. H(k)= digitos_menos_significativos ((d1..di)+(di+1..dj)+...+(d1..dn))+1
  • 23.
  • 24. Función Truncamiento Consiste en tomar algunos 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 ofrece menos uniformidad en la distribución de las claves. Se pueden elegir los dígitos de las posiciones pares o impares. H(k) = elegir_digitos(d1,d2,...,dn)+1
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37. Doble Dirección Ejemplo: V=[ 25, 43, 56, 35, 54, 13, 80, 104 ] H(K)= (k mod 10) +1 43 54 25 56 80 13 104 35 3 4 5 2 6 7 1 10 9 8 K H(K) H’ (D) H’(D’) H’ (D´´) 25 43 56 35 54 13 80 104 6 4 7 6 5 4 1 5 - - - 8 - 6 - 7 - - - - - 8 - 9 - - - - - 10 - -
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45. Arboles de búsqueda A B C D E H P S T  NTE AJO A O E N A RAS E I O A O   BE  N TRA   SDE  STA CIA   TRE   GUN BRE   M  ARA R   Representación de Tries
  • 46. Arboles de búsqueda A B C D E H P S T  N A A O E N A R E I O A O   BE  NTRA   SDE  STA CIA   GUN BRE   N  ARA R   Representación de un trie con discriminación 2  TE JO   TRE RAS
  • 47. Arboles de búsqueda NTE A N   BE  N SDE  Representación del trie como Bosque AJO   A B C O TRA D E  E TRE   A H CIA  STA  A RA  R  P O E GUN  N  S I O BRE    RAS T
  • 48. Arboles de búsqueda NTE A N   BE  N SDE  Representación del bosque como árbol binario AJO A B C O TRA D E E TRE   A H CIA  STA  RAS T  A RA  R  P O E GUN  N  S I O BRE   