Está en la página 1de 5

Proyecto de Organizacin de Archivos

---------------------------------------------------------------------------------------------------------------------------------

BUSCADOR DE ARCHIVOS
DANNY CASTILLO SNCHEZ
CESAR VERDES MENDOCILLA

GALLEN PUERTA RAMREZ


MARIELA CASTRO VALVERDE

RESUMEN.

localizacin de los registros, es decir se

Se implementara un buscador de archivos

convierte

previo anlisis intenso de los B-trees. Los B-

informacin. Y es mas permite tener los

trees son estructuras de datos especialmente

registros del archivo desordenados, pues el

diseadas para trabajar con datos almacenados

ndice es el que har todo el trabajo, esto reduce

en memoria externa.

el costo que tener que insertar todo un registro y

Debido a sus caractersticas especiales, los B-

reordenar todo el archivo.

trees nos proporcionan una indexacin de

Suponiendo que tenemos en base de datos un

archivos, de manera eficiente. Donde las

milln de ficheros cada uno con n registros,

operaciones realizadas por estas estructuras se

ser necesaria una estructura que nos permita la

realizan en tiempo logartmico.

indexacin eficiente de los archivos.

El buscador de archivos, tomara como ejemplo

Los arboles son estructuras que nos ayudaran a

con un formato similar al de la consola del

dar solucin a este problema. Habiendo varios

DOS.

tipos arboles, a menudo se usan rboles binarios

en

un

recurso

para

recuperar

de bsqueda para ordenar listas de valores,


PALABRAS CLAVE.-

minimizando el nmero de lecturas, y evitando

Buscador de archivos, estructura de datos,

tener que ordenar dichas listas.

Indexacion, B-TREES, consola del DOS.

Pero este tipo de rboles tienen varias


desventajas:

INTRODUCCION.-

a) Es difcil construir un rbol binario de

La evaluacin de un buscador de archivos,

bsqueda perfectamente equilibrado.

implica el manejo de grandes volmenes de

b) El nmero de consultas en el rbol no

informacin que ser evaluada e indexada.

equilibrado es impredecible.

Los ndices son archivos que por lo general

c) Y adems el nmero de consultas

contienen pares del tipo claves y referencias

aumenta rpidamente con el nmero de

(claves de bsqueda y punteros). Podemos

registros a ordenar.

pensar

que

son

directorios

que

tienen

Para evitar estos inconvenientes se usan

almacenados una clave y la direccin de

rboles-B, sobre todo cuando se ordenan

referencia del archivo que se accesar.

ficheros, el cual se ha convertido en el sistema

Pero para que sirve un ndice? La importancia

de indexacin ms utilizado.

de los ndices radica en que hace ms fcil la

Proyecto de Organizacin de Archivos


--------------------------------------------------------------------------------------------------------------------------------Los rboles-B son rboles de bsqueda de
que referencia a un archivo que se encuentra
almacenado en la ruta especificada, el
m ramas, y cada nodo puede almacenar un
buscador lo que hace es ejecutar el archivo o
mximo de m-1 claves.
programa, en caso contrario, si es que el
Las caractersticas que debe cumplir un
nombre especificado referencia a una carpeta,
el buscador simplemente muestra los
rbol-B son:
nombres de los archivos o subcarpetas que se
encuentran dentro de dicha carpeta. Si es que
Un parmetro muy importante en los
no existe ningn archivo o carpeta con dicho
nombre, el buscador muestra un mensaje de
rboles-B es el orden m. El orden de
aviso.
un rbol-B es el nmero mximo de
METODOLOGIA.ramas que pueden partir de un nodo.

Si de un nodo de un rbol-b parten n


ramas, ese nodo contendr n-1 claves.

El rbol est ordenado.

Todos los nodos terminales, (nodos


hoja), estn en el mismo nivel.

Todos los nodos intermedios, excepto


el raz, deben tener entre m/2 y m
ramas no nulas.

El mximo nmero de claves por nodo


es m-1.

El mnimo nmero de claves por nodo


es (m/2)-1.

La profundidad (h) es el nmero


mximo de consultas para encontrar
una clave.

Las operaciones que se pueden realizar en un


rbol-B son bsicamente tres:
Insertar una clave
Eliminar una clave
Buscar una clave

DESCRIPCION.Un buscador de archivos es una herramienta


que permite buscar un archivo o carpeta dado
por el ingreso de un nombre de archivo
ingresado. Si es que se especifica un nombre

Para realizar este buscador de archivos lo que


se hizo procede a capturar los nombres de
los archivos que se encuentran en una ruta
especificada (ingresada por teclado), luego
como dichos archivos se encuentran
ordenados alfabticamente por defecto, se les
asign valores de claves en el orden en que
aparecen( dichos valores son nmeros
enteros). Se les asigna valores de claves a los
archivos para poder almacenarlas en un Btree y de esta manera poder realizar
operaciones de bsqueda de una manera
eficiente (an cuando la cantidad de claves
almacenadas sea muy grande).
Estructura de un nodo:
Se implementan dos clases, una para el
tratamiento de los nodos y otra para el rbol.
Para las claves se uso un registro. Cada
registro de la clave est compuesta por cuatro
valores que son: valor, que contiene el valor
entero de la clave, etiqueta, que es un arreglo
de caracteres que contiene el nombre del
archivo, tipo, que almacena 1 si es que se
trata de un archivo o 0 si es que se trata de
una carpeta, y registro, que contiene el
mismo valor que valor.
En rigor, un nodo slo necesita almacenar un
mximo de m-1 claves y m punteros, pero
para facilitar el manejo de los rboles-B, le
aadimos algunos datos extra.

Proyecto de Organizacin de Archivos


--------------------------------------------------------------------------------------------------------------------------------Para el nodo, se ha definido la clase bnodo
como sigue:
int nClaves;
// Nmero de claves por
nodo
int nodosMinimos; // Nmero de punteros
class bnodo {
mnimos para cada nodo que no sea hoja
public:
pbnodo Entrada;
// Puntero a nodo de
bnodo(int nClaves); // Constructor
entrada en el rbol
~bnodo();
// Destructor
};
private:
int clavesUsadas; // Claves usadas en el
nodo
Como podemos observar, esta clase
stclave *clave; // Array de claves del
tiene mtodos para insertar y buscar
nodo
claves en el rbol.
bnodo **puntero; // Array de punteros a
bnodo
lista es un auxiliar para insertar.
bnodo *padre;
// Puntero a nodo padre
friend class btree;
};
nClaves es el orden del rbol, un
nodo puede almacenar a lo ms
nClaves-1 claves.
puntero son punteros a los nodos
hijos.
Para manejar la estructura del rbol se ha
utilizado la siguiente clase:
class btree {
public:
btree(int nClv);
// nClv : orden del
Arbol
~btree();
// Destructor
long Buscar(int clave); // Buscar un valor
de clave, devuelve la posicin en el array
bool Insertar(stclave clave); // Insertar una
clave
void Mostrar();
// Mostrar el rbol por
pantalla
private:
stclave *lista;
// Auxiliar para insertar
claves
pbnodo *listapunt; // Auxiliar para insertar
claves
// Funciones auxiliares internas de la clase:
void Inserta(stclave clave, pbnodo nodo,
pbnodo hijo1, pbnodo hijo2);
void BuscaFile(pbnodo nodo, char *name, int
&e);

listapunt
insertar.

es

otro

auxiliar

para

nClaves es el nmero mximo de


claves por cada nodo del rbol.
nodosMinimos es el nmero mnimo
de claves por cada nodo del rbol.
Entrada es la raz del rbol.
Se han declarado varias funciones auxiliares
privadas para facilitar la insercin y la
bsqueda de los nodos. Estas funciones slo
se usan internamente por la clase.
Algoritmo de insercin de claves:
Se trata de un algoritmo iterativo

Buscar la clave en el rbol. (Nuestro


algoritmo no permite almacenar
claves duplicadas).
Si la clave ya est en el rbol,
salimos sin hacer nada.

Buscamos el nodo donde debera


aadirse la clave. (nodo)

derecho = izquierdo = NULL

Bucle:
o

Si nodo es NULL crear un nodo


nuevo y hacer que Entrada sea
el nuevo nodo.

Proyecto de Organizacin de Archivos


--------------------------------------------------------------------------------------------------------------------------------o Guardar el valor del padre de
trabajar con archivos y carpetas reales. As
que buscando va internet encontramos una
nodo en padre.
pgina web [1] en la que vimos que se poda
o Hay espacio libre en nodo para
enviar instrucciones desde el programa hacia
la nueva clave?
el
DOS,
esta
funcin
es
system(instruccin) que se encuentra en
SI:
la librera stdio.h, se le puede enviar como
parmetro una cadena de caracteres que
Almacenar la clave
representan la instruccin, para nuestro caso
en nodo.
enviamos la ruta del archivo o carpeta a la
que deseamos acceder, y automticamente
Puntero izquierdo =
ejecuta el archivo o nos muestra las
izquierdo.
subcarpetas que se encuentran dentro de la
ruta especificada.
Puntero derecho =
derecho.
CONCLUSIONES. salir de bucle.
Los B-TREES son estructuras
NO:
especializadas para el manejo de
Crear un nodo nuevo
grandes volmenes de informacin

Segregar la mitad de
las claves menores en
nodo y la mitad de
las
mayores
en
nuevo.

(las operaciones realizadas por estas


estructuras son realizadas en tiempo
logartmico).
En este buscador de archivos, se

Promocionar el valor
intermedio, es decir
insertarlo en el nodo
padre.

utilizan

izquierdo = nodo

accin de bsqueda; esta se dea con

derecho = nuevo

un tiempo de bsqueda logartmica.

nodo = padre

clave
=
intermedia

cerrar bucle

los

b-trees

para

una

indexacin eficiente de los archivos


de tal forma, que al realizar una

Luego al hallar el archivo deseado en


el rbol, se procede a abrir el
clave

EVALUACIN.Inicialmente se intent una simulacin del


buscador de archivos, puesto que se trabajaba
sobre nombres de archivos y carpetas que se
encontraban almacenados en un archivo de
texto que nosotros mismos generbamos.
Pero esto nos permita slo almacenar los
datos de dicho archivo de texto en el B-tree,
mas no la poder ejecutar dichos archivos ya
solo eran nombres que ,no referenciaban
archivos reales, as que nos pareci ms
interesante tratar de buscar la manera de

mismo(dependiendo si este es un
archivo o carpeta) utilizando una
funcin

llamada

system(orden)

perteneciente a la librera stdio.h en


el lenguaje c.
REFERENCIAS.[1] http://www.conclase.net/c/index.php
[2] http://www.bluerwhite.org/btree/
[3]http://ftp.elo.utfsm.cl/~lsb/elo320/clases/c
17.pdf

Proyecto de Organizacin de Archivos


---------------------------------------------------------------------------------------------------------------------------------

También podría gustarte