Está en la página 1de 10

1Búsquedas Internas

Docente: Julio Cesar Flórez Báez

Octubre de 2020

Universidad Distrital Francisco José de Caldas


Bogotá D.C
Ciencias de la Computación II
Abstract

Este documento abordara la temática concerniente a las búsquedas internas, las

cuales son base importante en las ciencias de la computación, esto teniendo en cuenta

como ejemplo casos en los que se tiene una cantidad absurdamente grande de datos y

se desea manejarlos de la manera más optima posible. Para esto, se estudiarán los

distintos algoritmos de búsqueda que existen dentro del grupo de los de búsquedas
ii
internas, tales como lo son las Búsquedas Secuenciales, Binarias, por transformación

de claves y entre otros.


iii

Tabla de contenidos

Introducción.......................................................................................................................1

Búsquedas internas...........................................................................................................2

Métodos de búsqueda interna...........................................................................................2

Búsqueda secuencial o lineal........................................................................................2

Búsqueda secuencial en arreglo unidimensional desordenado................................2

Búsqueda secuencial en arreglo unidimensional desordenado................................3

Búsqueda binaria...........................................................................................................4

Búsqueda por transformación de claves (Hash)...........................................................5

Métodos de recuperación de colisiones.....................................................................5

Árboles de búsqueda.....................................................................................................6

Lista de referencias...........................................................................................................6
Introducción

A lo largo de la historia, la humanidad ha tenido que lidiar con grandes

cantidades de datos, los cuales, si no se tiene un método o una forma de

organizarlos se puede volver muy tedioso tener que buscar o hallar alguno de

ellos. Para eso, con el avance de la tecnología y la computación, de la mano con

los diversos lenguajes de programación, se han creado diferentes estructuras de

datos abstractas para poder guardar los datos, tales como lo son las listas,

arboles, grafos y entre otros. Junto con estos, están los algoritmos de búsqueda,

los cuales, dentro de su estructura, buscan la forma de hallar un dato de la

manera más rápida posible, haciendo uso óptimo de los recursos de hardware

disponible.
Búsquedas internas

Se define como búsqueda interna, a aquella que trabaja con elementos

que se encuentran almacenados en la memoria principal de la máquina. Estos

pueden estar en estructuras estáticas, como por ejemplo arreglos, o dinámicas,

como por ejemplo listas ligadas y árboles.[ CITATION Cai \l 9226 ]

Por otro lado, una búsqueda interna corresponde a cuando todos los

elementos se encuentran en memoria principal. Por ejemplo, almacenados en

estructuras estáticas (arreglos) o en estructuras dinámicas (listas ligadas y

arboles).[ CITATION EST09 \l 9226 ]

Métodos de búsqueda interna

Búsqueda secuencial o lineal

Consiste en revisar elemento tras elemento hasta encontrar el dato

buscado, o llegar al final del conjunto de datos disponible.[ CITATION Cai \l 9226

Antes de aplicar un algoritmo, primero se debe tener en cuenta la

estructura de datos que se tiene, y en este caso pueden ser arreglos (ordenados

o desordenados) y listas enlazadas.

Búsqueda secuencial en arreglo unidimensional desordenado

En el siguiente algoritmo, debemos asociar las siguientes variables, para

poder hacer la comprensión de este.

X =Elemento a buscar
V = Arreglo unidimensional desordenado

N=Conponente o subindice del arreglo

I =Variable de tipo entero

Para este caso, el algoritmo puede arrojar dos tipos de resultado distintos,

los cuales son la posición del elemento si este fue encontrado o en su defecto,

un mensaje de fracaso o error el cual dice que no se encontró el elemento.

Búsqueda secuencial en arreglo unidimensional desordenado


Es similar a la anterior con la diferencia de que el arreglo unidimensional

se encuentra ordenado crecientemente.


Búsqueda binaria

La búsqueda binaria consiste en dividir el intervalo de búsqueda en dos

partes, comparando el elemento buscado con el que ocupa la posición central en

el arreglo.[ CITATION Cai \l 9226 ].

El método de búsqueda binaria funciona exclusivamente con arreglos

ordenados. No se puede utilizar con listas simplemente ligadas ni con arreglos

desordenados.

Se mostrará el algoritmo de búsqueda binaria donde se deben tener en

cuanta las siguientes variables.

X =Elemento a buscar

V = Arreglo unidimensional ordenado

N=Conponente o subindice del arreglo

IZQ , CEN , DER=Variables de tipo entero

BAN =Variable de tipo Booleano


Búsqueda por transformación de claves (Hash)

Consiste en la aplicación de una función de transformación o función hash

a los valores que se van a insertar, para saber en qué posición del arreglo

quedaran. En estos casos, suele suceder que dos valores distintos sean

asignados a la misma dirección del arreglo por causa de la función hash, esto se

conoce como colisión.[ CITATION saw19 \l 9226 ]

Para solucionar las colisiones, se deben aplicar métodos de recuperación

de colisiones, los cuales consisten en reasignar y recuperar un valor que por

motivo de la función hash quede en la misma posición de otro.

Métodos de recuperación de colisiones

 Función Modulo

H ( k )= ( KmodN )+ 1

 Función Cuadrado

H (k )=digitos centrales( K 2)+1

 Función Truncamiento

H ( k )=elegir digitos ( d 1, d 2 ,… , dn )+1

 Función Plegamiento

H ( k )=digitos ¿ ( ( d 1 … di ) + ( di +1. .dj ) + …+ ( d 1 … dn ) ) +1


Árboles de búsqueda

En cuanto a árboles, se sabe que estos son un poderoso tipo de dato

abstracto el cual optimiza de gran manera la inserción, ordenamiento y

recuperación de datos. Por otro lado, también tenemos distintos tipos de árboles,

como por ejemplo los árboles binarios, AVL, Rojinegros y entre otros.

Como ejemplo, podemos observar el algoritmo de búsqueda en un árbol

binario, del cual debemos tener en cuenta las siguientes variables.[ CITATION

Cai \l 9226 ]

INFOR=Dato que se esta buscando

APNODO=Parametro de tipo enlace

IZQ , DER=Hijo izquierdo o derecho respectivamente


Lista de referencias

Cairó, O., & Guardati, S. (s.f.). Busquedas internas. McGrawHill.


ESTRUCTURA DE DATOS. (26 de Mayo de 2009). Obtenido de
http://estdatosgrupo8a.blogspot.com/2009/05/metodos-de-busqueda.html
sawmuk. (14 de Octubre de 20019). slideshare. Obtenido de
https://es.slideshare.net/sawmuk/metodos-busqueda-interna

También podría gustarte