SlideShare uma empresa Scribd logo
1 de 54
Árboles Binarios Estructura de Archivos
Árboles Binarios Un árbol binario es un árbol en el que ningún nodo puede tener más de dos subárboles. En un árbol binario, cada nodo puede tener cero, uno o dos  hijos (subárboles). Se conoce el nodo de la izquierda como hijo izquierdo y el nodo de la derecha como hijo derecho.
Árboles Binarios
Árboles Binarios Un árbol binario es una estructura recursiva. Cada nos es la raíz de su propio subárbol y tiene hijos, que son raíces de árboles llamados subárboles derecho e izquierdo del nodo, respectivamente. Un árbol binario se divide en tres subconjuntos: {R}	Nodo raíz {I1,I2,…,In}	Subárbol izquierdo de R	 {D1,D2,…,Dn}	Subárbol derecho de R.
Árboles Binarios
Árboles Binarios Estructuras de control de información No más de 2 subárboles por nodo Características Puede contener de 1 a 2n Recursivos Cada nodo puede tener  0,1 ó 2 hijos cada nodos puede ser la raíz de un subárbol
Árboles Binarios
Equilibrio La distancia de un nodo al nodo raíz determina la eficiencia con la que puede ser localizado. Por ejemplo, dado cualquier nodo de un árbol, a sus hijos se puede acceder siguiendo sólo un camino de bifurcación o de ramas, el que conduce al nodo deseado. De modo similar, los nodos a nivel 2 un árbol sólo pueden ser accedidos siguiendo sólo dos ramas del árbol.
Equilibrio La característica anterior nos conduce a una característica muy importante de un árbol binario, su balance equilibrio. Para determinar si un árbol está equilibrado, se calcula su factor de equilibrio. El factor de equilibrio de un árbol binario es la diferencia en altura entre los subárboles derecho e izquierdo. Si la altura del subárbol izquierdo es h, y la altura del subárbol derecho es hD, entonces el factor de equilibrio del árbol B se determina por la siguiente fórmula.
Equilibrio B= hD –hI Un árbol está perfectamente equilibrado si su equilibrio o balance es cero, y sus subárboles son también perfectamente equilibrados. Dado que esta definición ocurre raramente se aplica una definición alternativa.  Un árbol binario está equilibrado si la altura de sus subárboles difiere en no más de uno (su factor de equilibrio es -1, 01, +1) y sus subárboles son también equilibrados.
Árboles Binarios Completos Un árbol binario completo de profundidad n  es un árbol en el que para cada nivel, del 0 al nivel n-1 tiene un conjunto lleno de nodos y todos los nodos hoja a nivel n ocupan las posiciones más a la izquierda del árbol. 	Un árbol binario completo que contiene 2n nodos a nivel n es un árbol lleno. Un árbol lleno es un árbol binario que tiene el máximo número de entradas para su altura. Esto sucede cuando el último nivel está lleno.
Árboles Binarios Completos
Especificación del Árbol Binario Crear Arbol Es vacío Construir Raíz Inicia el árbol como vacío Crea un árbol con un elemento raíz y dos ramas, izquierda y derecha que son, a su vez, árboles Comprueba si el árbol no tiene nodos Devuelve el nodo raíz
Especificación del Árbol Binario Pertenece Borrar Derecho Izquierdo Obtiene la rama subárbol izquierdo de un árbol dado Obtiene la rama subárbol Derecho de un árbol dado Elimina del árbol el nodo con un elemento determinado Determina si un elemento se encuentra en el árbol
Estructura de un Árbol Binario 	La estructura de un árbol binario se construye con nodos. Cada nodo debe contener el campo dato (datos a almacenar) y dos campos de tipo puntero, uno al subárbol izquierdo y otro al subárbol derecho, que se conocen como puntero izquierdo y puntero derecho respectivamente, Un valor NULL indica un árbol o un subárbol vacío.
Estructura de un Árbol Binario Representación gráfica de los campos de un nodo. El tipo de datos correspondiente a la estructura de un nodo de un árbol binario es el siguiente:   Nodo Subarbolzquierdo		< puntero a Nodo > 	Datos				< Tipodato > subarbolDerecho		< puntero a Nodo > Fin nodo
Estructura de un Árbol Binario Representación enlazada de dos árboles binarios
Estructura de un Árbol Binario Árbol binario y su estructura en nodos
Representación de un Nodo El nodo se representa mediante una estructura (struct) para así agrupar a todos los campos de que consta. Se supone que el nodo tiene los campos dato, izquierdo y derecho. El tipo de dado de los elemento se generaliza como tipo Elemento. www.themegallery.com
Creación de un Árbol Binario A partir del nodo raíz de un árbol se puede acceder a los demás nodos del árbol, por ello el puntero que permite acceder al árbol es el que referencia a la  raíz. Las ramas izquierda y Derecha son a su vez árboles binarios que tienen su raíz, y así recursivamente hasta llegar a las hojas del árbol. La formación del árbol para por la creación de cada uno de los nodos y el enlace con el correspondiente nodo padre. Para crear un nodo de un árbol binario, se reserva memoria para el nodo, se asigna el dato al campo correspondiente y se inicializa los punteros izdo, dcho a NULL.
Ejemplo ArbolBinariocrearNodo (TipoElemento x) { ArbolBinario a; 	a= (ArbolBinario) malloc(sizeof(Nodo)); 	a -> dato = x; 	a -> decho = a ->izdo = NULL; return a; }
Creación de un Árbol Binario La función nuevoArbol( ) crea un árbol cuya raíz es un nodo con el campo dato el que se pasa como tercer argumento, la rama izquierda y derecha del árbol se pasan como segundo y cuarto argumentos.
Ejemplo: VoidnuevoArbol (ArbolBinario* raíz, ArbolBinarioramaIzqda, TipoElemento x, ArbolBinarioramaDrcha) { *raíz = CrearNodo(x); (*raíz) -> izdo = ramaIzqda; (raíz) -> dcho = ramaDrcha; }
Creación de un Árbol Binario Árbol binario de cadena de caracteres.
Operaciones en Árboles Binarios Una vez que se tiene creado un árbol binario, se pueden realizar diversas operaciones sobre él. El hacer uso de una operación u otra dependerá de la aplicación que se le quiera dar al árbol. Algunas de las operaciones típicas que se realizan en árboles binarios son:
Operaciones en Árboles Binarios Operaciones Todas las operaciones se pueden realizar recorriendo el árbol de un modo sistemático. El recorrido de un árbol es la operación de visita al árbol, o lo que es lo mismo, la visita a cada nodo del árbol una vez y sólo una, La visita de un árbol es necesaria en muchas ocasiones, por ejemplo, si se desea imprimir la información contenida en cada nodo.  Determinar su altura Determinar su número de elementos Hacer copia Visualizar el árbol en pantalla Determinar si dos árboles son idénticos Borrar (Eliminar árbol) Si es de expresión, evaluarlo
Árbol Binario de Búsqueda. Estos árboles se denominan árboles binarios de búsqueda, debido a que se pueden buscar en ellos un término utilizando un algoritmo de búsqueda binaria similar al empleado en arrays. Un árbol binario de búsqueda es aquel que dado un nodo, todos los datos del subárbol izquierdo son menores que los datos de ese nodo, mientras que todos los datos del subárbol derecho son mayores que sus propios datos.
Árbol Binario de Búsqueda. Árbol Binario de búsqueda para nodos con el campo de datos de tipo int.
Creación de un Árbol de Búsqueda. Supongamos que se desean almacenar los números 8, 3, 1, 20, 10, 5, 4 en un árbol binario de búsqueda. Siguiendo la regla, dado un nodo en el árbol todos los datos a su izquierda deben ser menores que todos los datos del nodo actual, mientras que todos los datos a la derecha deben ser mayores que los datos. Inicialmente el árbol está vacío y se desea insertar el 8. La única elección es almacenar el 8 en la raíz.
Creación de un Árbol de Búsqueda. A continuación viene el 3, ya que el 3 es menor que el 8, el 3 debe ir en el subárbol izquierdo. 8 8 3
Creación de un Árbol de Búsqueda. A continuación se ha de insertar 1 que se menor que 8 y que 3, por consiguiente irá a la izquierda y debajo de 3:  8 3 1
Creación de un Árbol de Búsqueda. Cada nuevo elemento se inserta como una hoja del árbol. Los restantes elementos se pueden situar fácilmente: 8 20 3 5 10 1 4 Una propiedad de los árboles binarios de búsqueda es que no son únicos para los mismos datos.
Nodo de un Árbol Binario de Búsqueda. Un nodo de un árbol binario de búsqueda no difiere en nada de los nodos de un árbol binario, tiene un campo de datos y dos punteros a los subárboles izquierdo y derecho respectivamente. 	Un árbol de búsqueda se puede utilizar cuando se necesita que la información se encuentre rápidamente. Un ejemplo de árbol binario de búsqueda es el que cada nodo contiene información relativa a una persona. Cada nodo almacena un nombre de un alumno (dato de tipo cadena) y el número de matrícula en su universidad (Dato entero).
Creación de un nodo. La función tiene como entrada un dato entero, que representa un número de matrícula y el nombre.  Devuelve un puntero al nodo creado. Nodo* crearNodo(int id, constchar* n) { Nodo* t; t= (Nodo*) malloc(sizeof(Nodo)); t-> nummat =id; strcpy(t -> nombre, n); t -> izdo = t > dcho = NULL; returnt; }
Recorrido de un Árbol. Un recorrido de un árbol binario requiere que cada nodo del árbol sea procesado (visitado) una vez y sólo una en una secuencia predeterminada. Existen dos enfoques generales para la secuencia de recorrido, profundidad y anchura.  El recorrido en profundidad, el proceso exige un camino desde la raíz a través de un hijo, al descendiente más lejano del primer hijo antes de proseguir a un segundo hijo. En otras palabras, en el recorrido en profundidad, todos los descendientes de un hijo se procesan antes del siguiente hijo.
Recorrido de un Árbol. En elrecorrido en anchura, el proceso se realiza horizontalmente desde la raíz a todos sus hijos, a continuación a los hijos de sus hijos y así sucesivamente hasta que todos los nodos han sido procesados. En otras palabras, en el recorrido en anchura, cada nivel se procesa totalmente antes de que comience el siguiente nivel. La designación tradicional de los recorridos utiliza un nombre para el nodo raíz (N), para el subárbol izquierdo (I) y para el subárbol derecho (D).
Recorrido de un Árbol. Según sea la estrategia a seguir, los recorridos se conocen como enorden (inorder), preorden (peorder) y postorden(postorder): Preorden	(nodo-izquierdo-derecho)(NID) Enorden	(izquierdo-nodo-derecho)(IND) Postorden	(izquierdo-derecho-nodo)(IDN)
Recorridos de árboles binarios.
Recorrido Preorden. El recorrido preorden(NID) conlleva los siguientes pasos, en los que el nodo raíz va antes que los subárboles: 1.- Visitar el nodo raíz (N) 2.- Recorrer el subárbol izquierdo (I) en preorden 3.- Recorrer el sub{árbol derecho (D) en preorden.
Recorrido Preorden. Dadas las características recursivas de los árboles, el algoritmo de recorrido tiene naturaleza recursiva. Primero se procesa la raíz, a continuación el subárbol izquierdo y después el subárbol derecho. Para procesar el subárbol izquierdo, se hace una llamada recursiva al procedimiento Preorden y luego se hace lo mismo con el subárbol derecho.
Recorrido Preorden de un árbol binario.
Recorrido Preorden de un árbol binario. En la función preorden( ) se implementa el algoritmo de recorrido en C, la condición que indica que continúe el recorrido es: raíz ¡= NULL, o simplemente, raíz.   Void preorden (ArbolBinarioraiz) { 	If(raiz) 	{ Visitar(raíz -> dato); 		Preorden(raíz -> izdo); 		Preorden(raíz -> dcho); } }
Recorrido en Orden. El recorrido enorden (inorder) procesa primero el suárbol izquierdo, después el raíz y a continuación el subárbol derecho. El significado de in- es que la raíz se procesa entre los subárboles. 	Si el árbol no está vacío, el método implica los siguientes pasos: 	1.- Recorrer el subárbol izquierdo (I) en inorden. 	2.- Visitar el nodo raíz (N) 	3.- Recorrer el subárbol derecho (D) en inorden.  
Recorrido enorden de un árbol binario.
Ejemplo:  La siguiente función visita y escribe el contenido de los nodos de un árbol binario de acuerdo al recorrido EnOrden. La función tiene como parámetro un puntero al nodo raíz del árbol.   Voidenorden (ArbolBinarioraiz) { If(raiz) 	{ Enroden (raíz -> izdo);       /*recorre subárbol izquierdo*/ 		Visitar(razi ->dato);            /*procesa raíz*/ Enorden (raíz ->dcho);     /*recorre subárbol derecho*/ 	} }  
Recorrido Postorden. El recorrido postorden (IDN) procesa el nodo raíz (post) después de que los subárboles izquierdo y derecho se han procesado. Se comienza situándose en la hoja más a la izquierda y se procesa. A continuación se procesa su subárbol derecho. Por último se procesa el nodo raíz. Las etapas del algoritmo, si el árbol no está vacío son:   	1.- Recorrer el subárbol izquierdo (I) en postorden. 	2.- Recorrer el subárbol derecho (D) en postorden. 	3.- Visitar el nodo raíz (N).
Recorrido Postorden.
Recorrido Postorden. La función postorden ( ) implementa en C el algoritmo correspondiente.   Void postorden (ArbolBinarioraiz) { 	If(raiz) 	{ Postorden (raíz ->izdo); Postorden(raíz -> dcho); 		Visitar (raíz -> dato); } }
Arboles binarios paginados Estos parten de la premisa de desplazamiento lento y transferencia rápida, en el disco, lo cual lleva a la paginación. La manera en la que se utiliza la paginación es que una vez que se a posicionado en una parte del disco, en vez de extraer unos cuantos bytes, se le una página competa, de este modo se aprovecha el desplazamiento que se hace en el disco, lo cual nos ayuda a resolver la relativa lentitud que existe en estos desplazamientos. Por ejemplo, si se quiere extraer cierta dirección, se carga la pagina, y en caso de que se requiera otra y está en la misma página su extracción es muy rápida, de esta manera se ahorra un desplazamiento en el disco.
Calculo de la eficiencia de un árbol binario paginado Árbol binario Log2(N+1) Árbol binario paginado 		 Logk+1(N+1) 	Donde; N= Numero de nodos 		        k= Numero de nodos por pagina
Ejemplos Log2 (134 217 727+1)    = 27 Log511+1 (134 217 727+1) = 3 Log2 (63+1)    =7 Log7+1(63+1)    = 3
Arboles B* En el estudio y las aplicaciones de los arboles B, Knuth extiende la idea de la redistribución durante la inserción para incluir nuevas reglas para la división.  Ejemplo; Considérese un sistema en el que se pospone la división, mediante la redistribución. Esto quiere decir que se insertan los elementos y después se agrupan para dejar la mayor parte de nodos redistribuidos de tal manera que queden lo mas completo que se pueda. El aspecto mas importante de esta división de dos a tres que produce paginas que se llenan hasta las dos terceras partes, en vez de solo la mitad.
Propiedades de un árbol B* Cada pagina tiene un  máximo de m descendientes. Cada pagina excepto la raíz y las hojas tienen al menos (2m-1)/3 descendientes La raíz tiene al menos dos descendientes (a menos que sea hoja) Todas las hojas tienen el mismo nivel Una pagina que sea hoja con k descendientes contiene k-1 llaves Una pagina hoja contiene por lo menos (2m-1)/3 llaves y no mas de m-1  
Ejemplo de redistribución de un árbol B* Árbol original División de dos a tres; Después de  Insertar la llave B

Mais conteúdo relacionado

Mais procurados

Arboles En Estructura de Datos
Arboles En Estructura de DatosArboles En Estructura de Datos
Arboles En Estructura de DatosDARKGIRL93
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datosSergio Sanchez
 
Normalizaciòn
NormalizaciònNormalizaciòn
Normalizaciònomarzon
 
Normalizacion de bases de datos
Normalizacion de bases de datosNormalizacion de bases de datos
Normalizacion de bases de datosCaro_Noirgean
 
Arboles mate discreta
Arboles mate discretaArboles mate discreta
Arboles mate discretaJunior Soto
 
Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)michell_quitian
 
Archivos Secuenciales Indexados
Archivos Secuenciales IndexadosArchivos Secuenciales Indexados
Archivos Secuenciales Indexadosjennifergu17
 
Arboles B y Arboles B+
Arboles B y Arboles B+Arboles B y Arboles B+
Arboles B y Arboles B+neltherdaza
 
Estructura de Datos - Unidad IV: Estructuras no Lineales
Estructura de Datos - Unidad IV: Estructuras no LinealesEstructura de Datos - Unidad IV: Estructuras no Lineales
Estructura de Datos - Unidad IV: Estructuras no LinealesJosé Antonio Sandoval Acosta
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos Kaneki04
 
Programacion 3. Arboles B+
Programacion 3. Arboles B+Programacion 3. Arboles B+
Programacion 3. Arboles B+Emmanuel Pineda
 

Mais procurados (20)

Arboles En Estructura de Datos
Arboles En Estructura de DatosArboles En Estructura de Datos
Arboles En Estructura de Datos
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datos
 
Normalizaciòn
NormalizaciònNormalizaciòn
Normalizaciòn
 
Normalizacion de bases de datos
Normalizacion de bases de datosNormalizacion de bases de datos
Normalizacion de bases de datos
 
Arboles mate discreta
Arboles mate discretaArboles mate discreta
Arboles mate discreta
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Heap sort
Heap sortHeap sort
Heap sort
 
Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)Normalización de la base de datos (3 formas normales)
Normalización de la base de datos (3 formas normales)
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 
Archivos Secuenciales Indexados
Archivos Secuenciales IndexadosArchivos Secuenciales Indexados
Archivos Secuenciales Indexados
 
Teoría de grafos
Teoría de grafosTeoría de grafos
Teoría de grafos
 
Arboles B y Arboles B+
Arboles B y Arboles B+Arboles B y Arboles B+
Arboles B y Arboles B+
 
Estructura de Datos - Unidad IV: Estructuras no Lineales
Estructura de Datos - Unidad IV: Estructuras no LinealesEstructura de Datos - Unidad IV: Estructuras no Lineales
Estructura de Datos - Unidad IV: Estructuras no Lineales
 
Algoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externoAlgoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externo
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
 
Programacion 3. Arboles B+
Programacion 3. Arboles B+Programacion 3. Arboles B+
Programacion 3. Arboles B+
 
Arreglos de registros
Arreglos de registros Arreglos de registros
Arreglos de registros
 

Semelhante a Arboles binarios

Semelhante a Arboles binarios (20)

áRboles binarios
áRboles binariosáRboles binarios
áRboles binarios
 
áRboles binarios
áRboles binariosáRboles binarios
áRboles binarios
 
Arboles02
Arboles02Arboles02
Arboles02
 
Declaracion de arboles David Ratmiroff.pdf
Declaracion de arboles David Ratmiroff.pdfDeclaracion de arboles David Ratmiroff.pdf
Declaracion de arboles David Ratmiroff.pdf
 
DECLARACION DE ARBOLES.pdf
DECLARACION DE ARBOLES.pdfDECLARACION DE ARBOLES.pdf
DECLARACION DE ARBOLES.pdf
 
Arboles
ArbolesArboles
Arboles
 
Para leer estructuras
Para leer estructurasPara leer estructuras
Para leer estructuras
 
Para leer estructuras
Para leer estructurasPara leer estructuras
Para leer estructuras
 
Dylan_Medina_Arbol.pdf
Dylan_Medina_Arbol.pdfDylan_Medina_Arbol.pdf
Dylan_Medina_Arbol.pdf
 
Arboles
ArbolesArboles
Arboles
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
 
estructura de árbol.pdf JOSE GABRIEL LUCENA
estructura de árbol.pdf JOSE GABRIEL LUCENAestructura de árbol.pdf JOSE GABRIEL LUCENA
estructura de árbol.pdf JOSE GABRIEL LUCENA
 
Arboles TDAS
Arboles TDASArboles TDAS
Arboles TDAS
 
Declarar Arboles. Operaciones. Ejemplospdf
Declarar Arboles. Operaciones. EjemplospdfDeclarar Arboles. Operaciones. Ejemplospdf
Declarar Arboles. Operaciones. Ejemplospdf
 
Arboles
ArbolesArboles
Arboles
 
Estructura de datos unidad 4 y 5
Estructura de datos unidad 4 y 5Estructura de datos unidad 4 y 5
Estructura de datos unidad 4 y 5
 
Árboles Binarios
Árboles BinariosÁrboles Binarios
Árboles Binarios
 
Unidad v arboles ESTRUCTURA DE DATOS
Unidad v arboles ESTRUCTURA DE DATOSUnidad v arboles ESTRUCTURA DE DATOS
Unidad v arboles ESTRUCTURA DE DATOS
 
Unidad v arboles
Unidad v arbolesUnidad v arboles
Unidad v arboles
 
04 curso-prope-py ed-arboles
04 curso-prope-py ed-arboles04 curso-prope-py ed-arboles
04 curso-prope-py ed-arboles
 

Mais de favi_hola

Procesamiento coordinado
Procesamiento coordinadoProcesamiento coordinado
Procesamiento coordinadofavi_hola
 
Dipersion hash
Dipersion hashDipersion hash
Dipersion hashfavi_hola
 
Indizacion y operaciones
Indizacion y operacionesIndizacion y operaciones
Indizacion y operacionesfavi_hola
 
Dispositivos de almacenamiento secundario
Dispositivos de almacenamiento secundarioDispositivos de almacenamiento secundario
Dispositivos de almacenamiento secundariofavi_hola
 
Indexamiento
IndexamientoIndexamiento
Indexamientofavi_hola
 

Mais de favi_hola (7)

Arboles
Arboles Arboles
Arboles
 
Procesamiento coordinado
Procesamiento coordinadoProcesamiento coordinado
Procesamiento coordinado
 
Dipersion hash
Dipersion hashDipersion hash
Dipersion hash
 
Indizacion y operaciones
Indizacion y operacionesIndizacion y operaciones
Indizacion y operaciones
 
Registros
RegistrosRegistros
Registros
 
Dispositivos de almacenamiento secundario
Dispositivos de almacenamiento secundarioDispositivos de almacenamiento secundario
Dispositivos de almacenamiento secundario
 
Indexamiento
IndexamientoIndexamiento
Indexamiento
 

Último

Actividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 EducacionActividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 Educacionviviantorres91
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.monthuerta17
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfssuser50d1252
 
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...GIANCARLOORDINOLAORD
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdflizcortes48
 
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfMEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfJosé Hecht
 
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdfNUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdfEDNAMONICARUIZNIETO
 
Acuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfAcuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfmiriamguevara21
 
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.karlazoegarciagarcia
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxFabianValenciaJabo
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...MagalyDacostaPea
 
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2Eliseo Delgado
 
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).hebegris04
 
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docxMagalyDacostaPea
 
Abregú, Podestá. Directores.Líderes en Acción.
Abregú, Podestá. Directores.Líderes en Acción.Abregú, Podestá. Directores.Líderes en Acción.
Abregú, Podestá. Directores.Líderes en Acción.profandrearivero
 
describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...DavidBautistaFlores1
 

Último (20)

Actividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 EducacionActividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 Educacion
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
 
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...
 
Unidad 2 | Teorías de la Comunicación | MCDIU
Unidad 2 | Teorías de la Comunicación | MCDIUUnidad 2 | Teorías de la Comunicación | MCDIU
Unidad 2 | Teorías de la Comunicación | MCDIU
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdf
 
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfMEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
 
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdfNUEVO PLAN Y PROGRAMAS DE ESTUDIO  2022.pdf
NUEVO PLAN Y PROGRAMAS DE ESTUDIO 2022.pdf
 
Acuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfAcuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdf
 
El Bullying.
El Bullying.El Bullying.
El Bullying.
 
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
 
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
 
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
 
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
 
Abregú, Podestá. Directores.Líderes en Acción.
Abregú, Podestá. Directores.Líderes en Acción.Abregú, Podestá. Directores.Líderes en Acción.
Abregú, Podestá. Directores.Líderes en Acción.
 
describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...
 
¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx
 

Arboles binarios

  • 2. Árboles Binarios Un árbol binario es un árbol en el que ningún nodo puede tener más de dos subárboles. En un árbol binario, cada nodo puede tener cero, uno o dos hijos (subárboles). Se conoce el nodo de la izquierda como hijo izquierdo y el nodo de la derecha como hijo derecho.
  • 4. Árboles Binarios Un árbol binario es una estructura recursiva. Cada nos es la raíz de su propio subárbol y tiene hijos, que son raíces de árboles llamados subárboles derecho e izquierdo del nodo, respectivamente. Un árbol binario se divide en tres subconjuntos: {R} Nodo raíz {I1,I2,…,In} Subárbol izquierdo de R {D1,D2,…,Dn} Subárbol derecho de R.
  • 6. Árboles Binarios Estructuras de control de información No más de 2 subárboles por nodo Características Puede contener de 1 a 2n Recursivos Cada nodo puede tener 0,1 ó 2 hijos cada nodos puede ser la raíz de un subárbol
  • 8. Equilibrio La distancia de un nodo al nodo raíz determina la eficiencia con la que puede ser localizado. Por ejemplo, dado cualquier nodo de un árbol, a sus hijos se puede acceder siguiendo sólo un camino de bifurcación o de ramas, el que conduce al nodo deseado. De modo similar, los nodos a nivel 2 un árbol sólo pueden ser accedidos siguiendo sólo dos ramas del árbol.
  • 9. Equilibrio La característica anterior nos conduce a una característica muy importante de un árbol binario, su balance equilibrio. Para determinar si un árbol está equilibrado, se calcula su factor de equilibrio. El factor de equilibrio de un árbol binario es la diferencia en altura entre los subárboles derecho e izquierdo. Si la altura del subárbol izquierdo es h, y la altura del subárbol derecho es hD, entonces el factor de equilibrio del árbol B se determina por la siguiente fórmula.
  • 10. Equilibrio B= hD –hI Un árbol está perfectamente equilibrado si su equilibrio o balance es cero, y sus subárboles son también perfectamente equilibrados. Dado que esta definición ocurre raramente se aplica una definición alternativa. Un árbol binario está equilibrado si la altura de sus subárboles difiere en no más de uno (su factor de equilibrio es -1, 01, +1) y sus subárboles son también equilibrados.
  • 11. Árboles Binarios Completos Un árbol binario completo de profundidad n es un árbol en el que para cada nivel, del 0 al nivel n-1 tiene un conjunto lleno de nodos y todos los nodos hoja a nivel n ocupan las posiciones más a la izquierda del árbol. Un árbol binario completo que contiene 2n nodos a nivel n es un árbol lleno. Un árbol lleno es un árbol binario que tiene el máximo número de entradas para su altura. Esto sucede cuando el último nivel está lleno.
  • 13. Especificación del Árbol Binario Crear Arbol Es vacío Construir Raíz Inicia el árbol como vacío Crea un árbol con un elemento raíz y dos ramas, izquierda y derecha que son, a su vez, árboles Comprueba si el árbol no tiene nodos Devuelve el nodo raíz
  • 14. Especificación del Árbol Binario Pertenece Borrar Derecho Izquierdo Obtiene la rama subárbol izquierdo de un árbol dado Obtiene la rama subárbol Derecho de un árbol dado Elimina del árbol el nodo con un elemento determinado Determina si un elemento se encuentra en el árbol
  • 15. Estructura de un Árbol Binario La estructura de un árbol binario se construye con nodos. Cada nodo debe contener el campo dato (datos a almacenar) y dos campos de tipo puntero, uno al subárbol izquierdo y otro al subárbol derecho, que se conocen como puntero izquierdo y puntero derecho respectivamente, Un valor NULL indica un árbol o un subárbol vacío.
  • 16. Estructura de un Árbol Binario Representación gráfica de los campos de un nodo. El tipo de datos correspondiente a la estructura de un nodo de un árbol binario es el siguiente:   Nodo Subarbolzquierdo < puntero a Nodo > Datos < Tipodato > subarbolDerecho < puntero a Nodo > Fin nodo
  • 17. Estructura de un Árbol Binario Representación enlazada de dos árboles binarios
  • 18. Estructura de un Árbol Binario Árbol binario y su estructura en nodos
  • 19. Representación de un Nodo El nodo se representa mediante una estructura (struct) para así agrupar a todos los campos de que consta. Se supone que el nodo tiene los campos dato, izquierdo y derecho. El tipo de dado de los elemento se generaliza como tipo Elemento. www.themegallery.com
  • 20. Creación de un Árbol Binario A partir del nodo raíz de un árbol se puede acceder a los demás nodos del árbol, por ello el puntero que permite acceder al árbol es el que referencia a la raíz. Las ramas izquierda y Derecha son a su vez árboles binarios que tienen su raíz, y así recursivamente hasta llegar a las hojas del árbol. La formación del árbol para por la creación de cada uno de los nodos y el enlace con el correspondiente nodo padre. Para crear un nodo de un árbol binario, se reserva memoria para el nodo, se asigna el dato al campo correspondiente y se inicializa los punteros izdo, dcho a NULL.
  • 21. Ejemplo ArbolBinariocrearNodo (TipoElemento x) { ArbolBinario a; a= (ArbolBinario) malloc(sizeof(Nodo)); a -> dato = x; a -> decho = a ->izdo = NULL; return a; }
  • 22. Creación de un Árbol Binario La función nuevoArbol( ) crea un árbol cuya raíz es un nodo con el campo dato el que se pasa como tercer argumento, la rama izquierda y derecha del árbol se pasan como segundo y cuarto argumentos.
  • 23. Ejemplo: VoidnuevoArbol (ArbolBinario* raíz, ArbolBinarioramaIzqda, TipoElemento x, ArbolBinarioramaDrcha) { *raíz = CrearNodo(x); (*raíz) -> izdo = ramaIzqda; (raíz) -> dcho = ramaDrcha; }
  • 24. Creación de un Árbol Binario Árbol binario de cadena de caracteres.
  • 25. Operaciones en Árboles Binarios Una vez que se tiene creado un árbol binario, se pueden realizar diversas operaciones sobre él. El hacer uso de una operación u otra dependerá de la aplicación que se le quiera dar al árbol. Algunas de las operaciones típicas que se realizan en árboles binarios son:
  • 26. Operaciones en Árboles Binarios Operaciones Todas las operaciones se pueden realizar recorriendo el árbol de un modo sistemático. El recorrido de un árbol es la operación de visita al árbol, o lo que es lo mismo, la visita a cada nodo del árbol una vez y sólo una, La visita de un árbol es necesaria en muchas ocasiones, por ejemplo, si se desea imprimir la información contenida en cada nodo. Determinar su altura Determinar su número de elementos Hacer copia Visualizar el árbol en pantalla Determinar si dos árboles son idénticos Borrar (Eliminar árbol) Si es de expresión, evaluarlo
  • 27. Árbol Binario de Búsqueda. Estos árboles se denominan árboles binarios de búsqueda, debido a que se pueden buscar en ellos un término utilizando un algoritmo de búsqueda binaria similar al empleado en arrays. Un árbol binario de búsqueda es aquel que dado un nodo, todos los datos del subárbol izquierdo son menores que los datos de ese nodo, mientras que todos los datos del subárbol derecho son mayores que sus propios datos.
  • 28. Árbol Binario de Búsqueda. Árbol Binario de búsqueda para nodos con el campo de datos de tipo int.
  • 29. Creación de un Árbol de Búsqueda. Supongamos que se desean almacenar los números 8, 3, 1, 20, 10, 5, 4 en un árbol binario de búsqueda. Siguiendo la regla, dado un nodo en el árbol todos los datos a su izquierda deben ser menores que todos los datos del nodo actual, mientras que todos los datos a la derecha deben ser mayores que los datos. Inicialmente el árbol está vacío y se desea insertar el 8. La única elección es almacenar el 8 en la raíz.
  • 30. Creación de un Árbol de Búsqueda. A continuación viene el 3, ya que el 3 es menor que el 8, el 3 debe ir en el subárbol izquierdo. 8 8 3
  • 31. Creación de un Árbol de Búsqueda. A continuación se ha de insertar 1 que se menor que 8 y que 3, por consiguiente irá a la izquierda y debajo de 3: 8 3 1
  • 32. Creación de un Árbol de Búsqueda. Cada nuevo elemento se inserta como una hoja del árbol. Los restantes elementos se pueden situar fácilmente: 8 20 3 5 10 1 4 Una propiedad de los árboles binarios de búsqueda es que no son únicos para los mismos datos.
  • 33. Nodo de un Árbol Binario de Búsqueda. Un nodo de un árbol binario de búsqueda no difiere en nada de los nodos de un árbol binario, tiene un campo de datos y dos punteros a los subárboles izquierdo y derecho respectivamente. Un árbol de búsqueda se puede utilizar cuando se necesita que la información se encuentre rápidamente. Un ejemplo de árbol binario de búsqueda es el que cada nodo contiene información relativa a una persona. Cada nodo almacena un nombre de un alumno (dato de tipo cadena) y el número de matrícula en su universidad (Dato entero).
  • 34. Creación de un nodo. La función tiene como entrada un dato entero, que representa un número de matrícula y el nombre. Devuelve un puntero al nodo creado. Nodo* crearNodo(int id, constchar* n) { Nodo* t; t= (Nodo*) malloc(sizeof(Nodo)); t-> nummat =id; strcpy(t -> nombre, n); t -> izdo = t > dcho = NULL; returnt; }
  • 35. Recorrido de un Árbol. Un recorrido de un árbol binario requiere que cada nodo del árbol sea procesado (visitado) una vez y sólo una en una secuencia predeterminada. Existen dos enfoques generales para la secuencia de recorrido, profundidad y anchura. El recorrido en profundidad, el proceso exige un camino desde la raíz a través de un hijo, al descendiente más lejano del primer hijo antes de proseguir a un segundo hijo. En otras palabras, en el recorrido en profundidad, todos los descendientes de un hijo se procesan antes del siguiente hijo.
  • 36. Recorrido de un Árbol. En elrecorrido en anchura, el proceso se realiza horizontalmente desde la raíz a todos sus hijos, a continuación a los hijos de sus hijos y así sucesivamente hasta que todos los nodos han sido procesados. En otras palabras, en el recorrido en anchura, cada nivel se procesa totalmente antes de que comience el siguiente nivel. La designación tradicional de los recorridos utiliza un nombre para el nodo raíz (N), para el subárbol izquierdo (I) y para el subárbol derecho (D).
  • 37. Recorrido de un Árbol. Según sea la estrategia a seguir, los recorridos se conocen como enorden (inorder), preorden (peorder) y postorden(postorder): Preorden (nodo-izquierdo-derecho)(NID) Enorden (izquierdo-nodo-derecho)(IND) Postorden (izquierdo-derecho-nodo)(IDN)
  • 39. Recorrido Preorden. El recorrido preorden(NID) conlleva los siguientes pasos, en los que el nodo raíz va antes que los subárboles: 1.- Visitar el nodo raíz (N) 2.- Recorrer el subárbol izquierdo (I) en preorden 3.- Recorrer el sub{árbol derecho (D) en preorden.
  • 40. Recorrido Preorden. Dadas las características recursivas de los árboles, el algoritmo de recorrido tiene naturaleza recursiva. Primero se procesa la raíz, a continuación el subárbol izquierdo y después el subárbol derecho. Para procesar el subárbol izquierdo, se hace una llamada recursiva al procedimiento Preorden y luego se hace lo mismo con el subárbol derecho.
  • 41. Recorrido Preorden de un árbol binario.
  • 42. Recorrido Preorden de un árbol binario. En la función preorden( ) se implementa el algoritmo de recorrido en C, la condición que indica que continúe el recorrido es: raíz ¡= NULL, o simplemente, raíz.   Void preorden (ArbolBinarioraiz) { If(raiz) { Visitar(raíz -> dato); Preorden(raíz -> izdo); Preorden(raíz -> dcho); } }
  • 43. Recorrido en Orden. El recorrido enorden (inorder) procesa primero el suárbol izquierdo, después el raíz y a continuación el subárbol derecho. El significado de in- es que la raíz se procesa entre los subárboles. Si el árbol no está vacío, el método implica los siguientes pasos: 1.- Recorrer el subárbol izquierdo (I) en inorden. 2.- Visitar el nodo raíz (N) 3.- Recorrer el subárbol derecho (D) en inorden.  
  • 44. Recorrido enorden de un árbol binario.
  • 45. Ejemplo: La siguiente función visita y escribe el contenido de los nodos de un árbol binario de acuerdo al recorrido EnOrden. La función tiene como parámetro un puntero al nodo raíz del árbol.   Voidenorden (ArbolBinarioraiz) { If(raiz) { Enroden (raíz -> izdo); /*recorre subárbol izquierdo*/ Visitar(razi ->dato); /*procesa raíz*/ Enorden (raíz ->dcho); /*recorre subárbol derecho*/ } }  
  • 46. Recorrido Postorden. El recorrido postorden (IDN) procesa el nodo raíz (post) después de que los subárboles izquierdo y derecho se han procesado. Se comienza situándose en la hoja más a la izquierda y se procesa. A continuación se procesa su subárbol derecho. Por último se procesa el nodo raíz. Las etapas del algoritmo, si el árbol no está vacío son:   1.- Recorrer el subárbol izquierdo (I) en postorden. 2.- Recorrer el subárbol derecho (D) en postorden. 3.- Visitar el nodo raíz (N).
  • 48. Recorrido Postorden. La función postorden ( ) implementa en C el algoritmo correspondiente.   Void postorden (ArbolBinarioraiz) { If(raiz) { Postorden (raíz ->izdo); Postorden(raíz -> dcho); Visitar (raíz -> dato); } }
  • 49. Arboles binarios paginados Estos parten de la premisa de desplazamiento lento y transferencia rápida, en el disco, lo cual lleva a la paginación. La manera en la que se utiliza la paginación es que una vez que se a posicionado en una parte del disco, en vez de extraer unos cuantos bytes, se le una página competa, de este modo se aprovecha el desplazamiento que se hace en el disco, lo cual nos ayuda a resolver la relativa lentitud que existe en estos desplazamientos. Por ejemplo, si se quiere extraer cierta dirección, se carga la pagina, y en caso de que se requiera otra y está en la misma página su extracción es muy rápida, de esta manera se ahorra un desplazamiento en el disco.
  • 50. Calculo de la eficiencia de un árbol binario paginado Árbol binario Log2(N+1) Árbol binario paginado Logk+1(N+1) Donde; N= Numero de nodos k= Numero de nodos por pagina
  • 51. Ejemplos Log2 (134 217 727+1) = 27 Log511+1 (134 217 727+1) = 3 Log2 (63+1) =7 Log7+1(63+1) = 3
  • 52. Arboles B* En el estudio y las aplicaciones de los arboles B, Knuth extiende la idea de la redistribución durante la inserción para incluir nuevas reglas para la división. Ejemplo; Considérese un sistema en el que se pospone la división, mediante la redistribución. Esto quiere decir que se insertan los elementos y después se agrupan para dejar la mayor parte de nodos redistribuidos de tal manera que queden lo mas completo que se pueda. El aspecto mas importante de esta división de dos a tres que produce paginas que se llenan hasta las dos terceras partes, en vez de solo la mitad.
  • 53. Propiedades de un árbol B* Cada pagina tiene un máximo de m descendientes. Cada pagina excepto la raíz y las hojas tienen al menos (2m-1)/3 descendientes La raíz tiene al menos dos descendientes (a menos que sea hoja) Todas las hojas tienen el mismo nivel Una pagina que sea hoja con k descendientes contiene k-1 llaves Una pagina hoja contiene por lo menos (2m-1)/3 llaves y no mas de m-1  
  • 54. Ejemplo de redistribución de un árbol B* Árbol original División de dos a tres; Después de Insertar la llave B