¿Que es método de búsqueda?
Enviado por Mariangel Gimenez • 25 de Abril de 2017 • Ensayo • 2.039 Palabras (9 Páginas) • 366 Visitas
¿Que es método de búsqueda?
Es aquél método que está diseñado para ubicar un elemento con ciertas propiedades dentro de una estructura de datos. Se dice que el Método de Búsqueda es muy importante en el proceso de información ya que te permite recuperar datos almacenados anteriormente.
Método de Búsqueda lo podemos clasificar en dos clases:
- Búsqueda interna: Es aquella que todos sus elementos se encuentran en la memoria principal. Estas se encuentran almacenadas en una estructura estática (arreglos) o dinámica (listas).
- Búsqueda Externa: Es aquella donde todos los elementos se encuentran almacenados en un archivo, el cual se encuentra se encuentra en un dispositivo de almacenamiento secundario como un disco duro, una cinta o una memoria usb.
Los Métodos de Búsquedas Internos y Externos más importantes son:
- Búsqueda Secuencial o Lineal: Es aquel que busca secuencialmente elemento por elemento hasta encontrar el dato que deseamos obtener o hasta que se llegue a su final. Esta se puede aplicar en cualquier estructura de datos ordenadamente o desordenados. Se busca casilla por casilla en el arreglo.
- Búsqueda Binaria: Es aquella que divide la cantidad de elementos por 2, y primero localiza el elemento central, se determina si el elemento buscado es mayor o menor al elemento central. Para encontrar el elemento buscado continua del lado izquierdo (menor) o del lado derecho (mayor) del central, si coincide la búsqueda finaliza si no repite este mismo procedimiento hasta encontrar el elemento buscado. Este método solo funciona con estructuras ordenadas.
- Búsqueda por transformación de claves (hash): Este método aumenta la velocidad de la búsqueda, permite que su acceso a los datos sea mediante una llave que indique la posición donde están guardados los o el elemento que se busca, lo cual a cada elemento se le asigna un índice y trabaja con una función que la transforma en llave en una dirección y esta no requiere que los elementos estén ordenados.
Algunas funciones hash más utilizadas son estas:
- Función modulo (o por división): Toma el residuo de la división entre la clave y el total de elementos de la estructura, generando la siguiente fórmula: dirección = (clave % total elementos).
- Función cuadrada: Eleva al cuadrado la clave y del resultado, tomamos los dígitos centrales como la dirección. El numero de dígitos lo tomamos determinando por el rango del índice de toda la estructura. Su fórmula es: dirección = dígitos centrales (clave2).
- Función Plegamiento: Divide la clave en partes de igual al número de dígitos , toma la dirección de los dígitos menos significativos, después de hacer una operación entre las partes, puede ser de una serie de sumas o de multiplicaciones. Su formula es: dirección = dígitos menos significativos (suma de partes)dirección = dígitos menos significativos (multiplicación de partes).
- Función Truncamiento: Toma algunos de los dígitos de las claves y forma con ellos una dirección. La elección de los dígitos es aleatoria , pueden tomarse los de las posiciones pares o impares para que con ellos se pueda generar la dirección donde se guardara la clave, uniendo los dígitos de izquierda a derecha o de derecha a izquierda. Su formula es: dirección = elegir dígitos (unión dígitos).
Método de Encadenamiento: Consiste en que cada posición de la estructura tenga una lista ligada, la cual crecerá con cada elemento que entre en la estructura. Este es el método más eficiente debido a que las listas ligadas son dinámicas y así evitan tener tantos lugares libres como el método arreglos anidados.
Métodos de Ordenamiento: Consiste en poner elementos de una lista o un vector en una secuencia dada por una relación de orden. Estos son:
- Ordenamiento de burbuja: Consiste en revisar cada elemento moviendo el mayor hasta la ultima casilla intercambiándolos de posición si están en el orden equivocado. Revisa varias veces hasta que no se necesiten más intercambios, es decir, hasta ordenar todos los elementos del arreglo.
- Ordenamiento Shell: Es de ordenación interna, también de externa basándose en comparaciones y intercambios. Las comparaciones se efectúan con saltos de mayor tamaño con incrementos decrecientes así queda ordenado el arreglo.
- Ordenamiento por inserción: Se compara todos los elemento ordenados, se va insertando un elemento de un arreglo, viendo que el primer elemento ya esta ordenado, ira comparando un elemento de la parte desordenada del arreglo con elementos de la parte ordenada. Insertando cada elemento en la posición correcta en la parte ordenada y así sucesivamente hasta obtener el arreglo ordenado.
- Ordenamiento por selección: Consiste en encontrar el menor de los elementos en el arreglo intercambiarlo con el que esta en la primera posición, luego el segundo mas pequeño intercambiarlo con el segundo mayor y así sucesivamente , hasta ordenar el arreglo completo.
- Ordenamiento QuickSort: Se considera entre los más rápidos y más eficientes usa la tecina “divide y vencerás”. Se basa en dividir un problema en subproblemas y luego juntamos las respuestas de estos subproblemas para así obtener la solución al problema central .
¿Qué es cadena de caracteres?
Es un conjunto de caracteres de tipo char nos permite escribirlas como texto dentro de comillas dobles. Se almacena en posiciones consecutivas de memoria en forma de arreglo.
Funciones asociadas a cadenas de caracteres: Proporciona una librería estándar (string.h) para mejorar su utilización, una de ellas son :
- Strcpy: Se utiliza para copiar una cadena de caracteres (fuente)en el lugar que ocupaba otra(destino).Todos lo que estaba en la cadena (destino) desaparecen , así la cadena (destino) sea mas larga que la cadena (fuente). La cadena (destino) se coloca como primer argumento de la función y la cadena (fuente) como segunda.
- Strcat: Se utiliza para que copia una cadena (fuente) en otra cadena (destino), es decir que copia una cadena detrás de otra.
- Strlen: Esta devuelve el total de la cadena en tipo entero (longitud).
Aplique el método de burbuja para hacer una búsqueda en un arreglo 5 posiciones:
...