miércoles, 30 de octubre de 2013

4.1.2 CLASIFICACIÓN DE ARBOLES

4.1.2 CLASIFICACION DE ARBOLES

 Los árboles se clasifican de la siguiente manera:

-               Árboles binarios.

o                  Distintos

o                  Similares

o                  Equivalentes

o                  Equilibrado

o                  Completo
-               Árboles Multicaminos.

o                  B

o                  B+

o                  B*

o                  R

o                  2-4


Un árbol binario sería un conjunto de 0 o más nodos
en el cual existe
un nodo raíz y cada uno de los nodos, incluido el r
aíz podrán tener 0, 1
o dos subárboles:
) Subárbol izquierdo y subárbol derecho.
) Cada nodo es como máximo de grado 2.
un árbol binario es una estructura de datos en la cual cada nodo siempre tiene un hijo izquierdo y un hijo derecho. No pueden tener más de dos hijos (de ahí el nombre "binario"). Si algún hijo tiene como referencia a null, es decir que no almacena ningún dato, entonces este es llamado un nodo externo. En el caso contrario el hijo es llamado un nodo interno. Usos comunes de los árboles binarios son los árboles binarios de búsqueda, los montículos binarios y Codificación de Huffman.
 
Un árbol multicamino posee un grado g mayor a dos, donde cada nodo de información del árbol tiene un máximo de g hijos.

Sea un árbol de m-caminos A, es un árbol m-caminos si y solo si:


  • A está vacío
  • Cada nodo de A muestra la siguiente estructura: [nClaves,Enlace0,Clave1,...,ClavenClaves,EnlacenClaves]

nClaves es el número de valores de clave de un nodo, pudiendo ser: 0 <= nClaves <= g-1
Enlacei, son los enlaces a los subárboles de A, pudiendo ser: 0 <= i <= nClaves
Clavei, son los valores de clave, pudiendo ser: 1 <= i <= nClaves

  • Clavei < Clavei+1
  • Cada valor de clave en el subárbol Enlacei es menor que el valor de Clavei+1
  • Los subárboles Enlacei, donde 0 <= i <= nClaves, son también árboles m-caminos.

Existen muchas aplicaciones en las que el volumen de la información es tal, que los datos no caben en la memoria principal y es necesario almacenarlos, organizados en archivos, en dispositivos de almacenaminento secundario. Esta organización de archivos debe ser suficientemente adecuada como para recuperar los datos del mismo en forma eficiente.

La principal ventaja de este tipo de árboles consiste en que existen más nodos en un mismo nivel que en los árboles binarios con lo que se consigue que, si el árbol es de búsqueda, los accesos a los nodos sean más rápidos.
El inconveniente más importante que tienen es la mayor ocupación de memoria, pudiendo ocurrir que en ocasiones la mayoría de los nodos no tengan descendientes o al menos no todos los que podrían tener desaprovechándose por tanto gran cantidad de memoria. Cuando esto ocurre lo más frecuente es transformar el árbol multicamino en su binario de búsqueda equivalente.



Autor del video: KARLA GARCIA (youtube)

4.1 ARBOLES - 4.1.1. CONCEPTO DE ARBOL

4.1 ARBOLES.
Desde el punto de vista conceptual, un árbol es un
objeto que comienza con una raíz (root) y se extiende en
varias ramificaciones o líneas (edges), cada una de las
cuales puede extenderse en ramificaciones hasta
terminar, finalmente en una hoja.
Los árboles representan las estructuras no- lineales y dinámicas de datos más importantes en computación.
Dinámicas, puesto que la estructura árbol puede
cambiar durante la ejecución de un programa. 
No -lineales, puesto que a cada elemento del árbol pueden
seguirle varios elementos.
 4.1.1 Concepto de árbol.
Un arbol es un conjunto de nodos que cumplencon las relaciones padre, hijo y hermano.
Llamamos hijos de un nodo a todos los nodos que podemos llegar directamente por medio de un apuntador hacia ellos y descendencia a todos los que pudieramos llegar a traves de los hijos y su propia descendencia.
Llamamos padre al nodo del cual proviene el nodo hijo. Existe un nodo que no tiene padre y le llamamos raiz del arbol.
Además de comprender el concepto y la estructura de un árbol, debemos tomar en cuenta otros conceptos básicos que pueden ser útiles en el momento de construir o programar un árbol, estos conceptos los clasificaremos en tres rubros:
 -               Relación con otros nodos,

-               Posición dentro del árbol y

-               Tamaño del árbol

 En relación con otros nodos:

-               Padre, es el nodo del cual se derivan otros nodos.

-               Hijo, es el nodo que depende de otro.
-              Hermano, es el nodo que se encuentra al lado del nodo hijo y que dependen del mismo nodo padre.
 En cuanto a la posición dentro del árbol:
-               Raíz, es el primero de los nodos y el único que no contiene un padre.

-               Hoja, es el nodo que se encuentra al final del árbol.

-               Interior, es un nodo que no es raíz ni hijo y se encuentre ellos.

Recopilado por: Emmanuel Martinez Hernandez