Está en la página 1de 16

RBOLES

ESTRUCTURA DE DATOS

Ing.Ma. SUSANA BELTRAN

INTRODUCCION
Los rboles representan las estructuras no-lneales y dinmicas de datos. Dnamicas puesto que les estructura rbol puede cambiar durante la ejecucin de un programa. No lneales puesto que cada elemento del rbol pueden seguirle varios elementos.

Ing.Ma. SUSANA BELTRAN

Estructura de datos
ESTRUCTURA DE DATOS ARREGLOS REGISTROS CONJUNTOS ESTRUCTURA DINAMICA LISTAS RBOLES

ESTRUCTURA LNEALES

ESTRUCTURA NOLNEALES

ARREGLOS
REGISTROS CONJUNTOS PILAS COLAS

RBOLES

LISTA
Ing.Ma. SUSANA BELTRAN

RBOL
Un rbol es una estructura jerrquica aplicada sobre una coleccin de elementos, u objetos llamados nodos, uno de los cuales se conoce como RAIZ, se crea un parentesco entre los nodos dando lugar a tminos como, PADRE HIJO, HERMANO, ANTECESOR, SUCESOR, ANCESTRO.

Ing.Ma. SUSANA BELTRAN

APLICACIN DE RBOLES
FORMULAS MATEMATICAS ORGANIZAR LA INFORMACION HISTORIA DE UN CAMPONEATO DE TENIS CONSTRUCCION DE UN ARBOL GENEALOGICO ANALISIS DE CIRCUITOS ELECTRONICOS NUMERAR CAPITULOS Y SECCIONES DE UN LIBRO

Ing.Ma. SUSANA BELTRAN

CARACTERISTICAS Y PROPIEDADES DE RBOLES


Todo rbol que no es vaco, tiene un nico nodo raz. Un nodo X es descendiente de un nodo Y. Un nodo X es antecesor directo de un nodo Y. Los nodos descendientes de un padre son hermanos Todo nodo que no tiene hijos se conoce con el nombre de Terminal u Hoja. Todo nodo que no es raz ni terminal u hoja se conoce con el nombre de interior. Grado es el # descendientes directos de un determinado nodo. Grado de rbol es el mximo grado de todos los nodos del rbol. Nivel es el # de arcos que deben ser recorridos para llegar a un determinado nodo. La raz tiene nivel 1. Altura del rbol es el mximo nmero de niveles de todos los nodos del rbol.
Ing.Ma. SUSANA BELTRAN

RBOL GRAFO
A

Ing.Ma. SUSANA BELTRAN

DIAGRAMA DE VENN
A B E

C
G

H D F L

Ing.Ma. SUSANA BELTRAN

ANIDACIN DE PARNTESIS

(A(B(D(I),E,F(J,K)),(C(G,H(L))))
1. A, 1.1. B, 1.1.1. D, 1.1.1.1. I 1.1.2. E 1.1.3. F 1.1.3.1. J 1.1.3.2. K 1.2. C 1.2.1. G 1.2.2. H 1.2.2.1. L

NOTACIN DECIMAL DE DEWEY

Ing.Ma. SUSANA BELTRAN

NOTACIN INDENTADA
A B D I E F

J K
C G H

Ing.Ma. SUSANA BELTRAN

CLASIFICACIN
1. A es la raz del rbol 2. B es hijo de A, C es hijo de A, D es hijo de B, E es hijo de B, L es hijo de H 3. A es padre de B, B es padre de D, D es padre de I, C es padre de G, H es padre de L. 4. B y C son hermanos, D,E y F son hermanos, G y H son hermandos, J y K son hermanos. 5. I;E;J;K;G y L son nodos terminales u hojas 6. B, D, F,C y H son nodos interiores 7. El grado del no A es 2, El grado del nodo B es 3, El grado del Nodo C es 2, El grado del nodo D es 1, el grado del nodo E es 0, el grado del rbol es 3. 8. El nivel del nodo A es 1, el nivel del nodo B es 2, el nivel del nodo D es 3, El nivel del nodo C es 2, el nivel del nodo L es 4. 9. La altura del rbol es 4.

Ing.Ma. SUSANA BELTRAN

DEFINIR RBOLES
struct nodo { int dato; struct nodo *rama1; struct nodo *rama2; struct nodo *rama3; };

#define ORDEN 5 struct nodo { int dato; struct nodo *rama[ORDEN]; };

typedef struct _nodo { int dato; struct _nodo *rama[ORDEN]; } tipoNodo; typedef tipoNodo *pNodo; typedef tipoNodo *Arbol;

Ing.Ma. SUSANA BELTRAN

RECORRIDO DE UN RBOL

Pre-orden:

En este tipo de recorrido, el valor del nodo se procesa antes de recorrer las ramas: (VISITAR LA RAZ, RECORRE EL SUBRBOL IZQUIERDO, EL SUBRBOL DERECHO) void PreOrden(Arbol a) { if(a == NULL) return; Procesar(dato); RecorrerArbol(a->rama[0]); RecorrerArbol(a->rama[1]); RecorrerArbol(a->rama[2]); }

ABDIEFJKCGHL

Ing.Ma. SUSANA BELTRAN

In-orden:

En este tipo de recorrido, el valor del nodo se procesa despus de recorrer la primera rama y antes de recorrer la ltima. Esto tiene ms sentido en el caso de rboles binarios, y tambin cuando existen ORDEN-1 datos, en cuyo caso procesaremos cada dato entre el recorrido de cada dos ramas.(SUBRBOL IZUIERDO, VISITAR LA RAZ, AUBRBOL DERECHO)
void InOrden(Arbol a) {

if(a == NULL) return;


RecorrerArbol(a->rama[0]); Procesar(dato); RecorrerArbol(a->rama[1]);

RecorrerArbol(a->rama[2]); }

IDBEJFKAGCLH

Ing.Ma. SUSANA BELTRAN

Post-orden: En este tipo de recorrido, el valor del nodo se procesa despus de recorrer todas las ramas: (SUBRBOL IZQUIERDO, SUBRBOL DERECHO, VISITAR LA RAZ) void PostOrden(Arbol a) { if(a == NULL) return; RecorrerArbol(a->rama[0]); RecorrerArbol(a->rama[1]); RecorrerArbol(a->rama[2]); Procesar(dato); }

IDEJKFBGLHCA

Ing.Ma. SUSANA BELTRAN

EJERCICIO
L M Z K A

C N

Ing.Ma. SUSANA BELTRAN

También podría gustarte