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 "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}
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 "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}
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 "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}
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 "El elemento no esta en la lista" si no Escribir "El elemento esta en la lista" 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 " El elemento esta en la posición Cen" Si no Escribir " El elemento no esta en el arreglo" 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
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