24
ARBOLES GENERALIZADOS ESTRUCTURA DE DATOS II Ing. Freddy Melgar Algarañaz

ARBOLES GENERALIZADOS

  • Upload
    melody

  • View
    46

  • Download
    0

Embed Size (px)

DESCRIPTION

ARBOLES GENERALIZADOS. ESTRUCTURA DE DATOS II Ing. Freddy Melgar Algarañaz. INTRODUCCION. Las listas enlazadas son estructuras lineales Son flexibles pero son secuenciales, un elemento detrás de otro Los árboles Junto con los grafos son estructuras de datos no lineales - PowerPoint PPT Presentation

Citation preview

Page 1: ARBOLES GENERALIZADOS

ARBOLES GENERALIZADOS

ESTRUCTURA DE DATOS IIIng. Freddy Melgar Algarañaz

Page 2: ARBOLES GENERALIZADOS

Las listas enlazadas son estructuras lineales◦ Son flexibles pero son secuenciales, un elemento

detrás de otro Los árboles

◦ Junto con los grafos son estructuras de datos no lineales

◦ Superan las desventajas de las listas◦ Sus elementos se pueden recorrer de distintas

formas, no necesariamente uno detrás de otro Son muy útiles para la búsqueda y

recuperación de información

INTRODUCCION

Page 3: ARBOLES GENERALIZADOS

Estructura que organiza sus elementos formando jerarquías: PADRES E HIJOS

CONCEPTO

Un subárbol de un árbol Es cualquier nodo del árbol junto con todos sus

descendientes

Los elementos de un árbol se llaman nodos Si un nodo p tiene un enlace con un nodo m,

p es el padre y m es el hijo Los hijos de un mismo padre se llaman: hermanos

A

B

D E

C

F

Todos los nodos tienen al menos un padre, menos la raíz: A Si no tienen hijos se llaman hoja: D, E, F y C

B

D E F

A es PadreB y C hijos de A:

hermanosB es Padre

D, E, F hijos de B

Page 4: ARBOLES GENERALIZADOS

Valores: ◦ Conjunto de elementos, donde SOLO se conoce el nodo raíz◦ Un nodo puede almacenar contenido y estar enlazado con

Sus árboles hijos (pueden ser dos o varios) Operaciones: Dependen del tipo de árbol, pero en

general tenemos:◦ Vaciar o inicializar el Arbol◦ Eliminar un árbol◦ Saber si un árbol esta vacío◦ Recorrer un árbol

TAD ARBOL : DEFINICION INFORMAL

Page 5: ARBOLES GENERALIZADOS

Un árbol dirigido es una estructura: Jerárquica porque los componentes

están a distinto nivel. Organizada porque importa la forma en

que esté dispuesto el contenido. Dinámica porque su forma, tamaño y

contenido pueden variar durante la ejecución.

Un árbol puede ser: vacío, Una raíz + subárboles.

5

Definición

Page 6: ARBOLES GENERALIZADOS

Mediante diagramas de Venn

Mediante círculos y flechas

Mediante paréntesis anidados:( a ( b (e,f), c, d ) )

6

Representación de un Árbol.

a

b c de

fa

c db

e f

Page 7: ARBOLES GENERALIZADOS

Un árbol ordenado: Es aquel en el que las ramas de los nodos están ordenadas.

Los de grado 2 se llaman árboles binarios. Cada árbol binario tiene un subárbol

izquierdo y subárbol derecho.

7

Tipos de árboles

+

- ^

3.5/BA

DC

Page 8: ARBOLES GENERALIZADOS

Árboles de expresión Representan un orden de ejecución

8

Tipos de árboles (cont.)

+

+*

BA * E

DC

*

+ -

7 12 9

(A* B) + C * D + E (7 + 12) * (-9) = -171

Page 9: ARBOLES GENERALIZADOS
Page 10: ARBOLES GENERALIZADOS
Page 11: ARBOLES GENERALIZADOS

Camino: Secuencia de nodos conectados dentro de un árbol

Longitud de camino entre 2 nodos: es el numero de nodos menos 1 en un camino, o también: es el número de arcos que hay entre ellos.

Altura del árbol: es el nivel mas alto del árbol.◦ Un árbol con un solo nodo tiene altura 1

Nivel de un árbol◦ Es el numero de nodos entre la raíz y el nodo mas profundo del

árbol, la altura de un árbol entonces Grado de un nodo: El número máximo de hijos del

nodo Grado de un árbol: El máximo grado de sus nodos

TERMINOLOGIA

Page 12: ARBOLES GENERALIZADOS

Un árbol es una estructura de datos formada por nodos los

cuales están conectados por aristas.

aristasaristasnodosnodosA

B C D

E FG H I

Árboles

¿Qué es un árbol?

Page 13: ARBOLES GENERALIZADOS

Árboles

Conceptos Básicos

• Un árbol puede estar vacío; es decir no contener ningún nodo.• Hablaremos entonces del Árbol Vacío.• Raíz: es el nodo que está al tope del árbol. Un árbol solo tiene una raíz.

RaizRaizA

B C D

E FG H I

Page 14: ARBOLES GENERALIZADOS

Árboles

Conceptos Básicos

• Camino: es la secuencia de nodos que hay que visitar para llegar de un nodo a otro de un árbol.

Ejemplo: B-A-C-F es el camino entre B y F.

A

B C D

E FG H I

Page 15: ARBOLES GENERALIZADOS

Árboles

Conceptos Básicos

• Un conjunto de nodos y aristas se define como un árbol si y solo si existe un único camino desde la raiz hasta cada uno de sus nodos.

Esto no es un arbol, porque existe mas de un camino desde la

raiz para llegar a algunos nodos

A

B C D

E FG H I

Page 16: ARBOLES GENERALIZADOS

Árboles

Conceptos Básicos

• Padre: En un árbol toda rama va de un nodo n1 a un nodo n2, se dice que n1 es padre de n2.

Ejemplo: C es padre de E y de F, D es padre de G, de H y de I.

• Hijo: todo nodo puede tener mas de una arista que lo lleva a otro nodo por debajo de él. Estos nodos que se encuentran por debajo de un nodo dado se llaman hijos. Ejemplo: E es hijo de C, B es hijo de A, H es hijo de D

PadresPadresA

B C D

E FG H I

HijosHijos

Page 17: ARBOLES GENERALIZADOS

Subárbol

Árboles

Conceptos Básicos

• Hojas: son aquellos nodos que no tienen hijos. En un arbol solo puede haber una raíz pero pueden haber muchas hojas. Ejemplo: B,E,F,G,H,I son hojas.

• Subárbol: Cualquier nodo se puede considerar como la raíz de un subárbol.

A

B C D

E FG H IHojasHojas

Page 18: ARBOLES GENERALIZADOS

Árboles

Conceptos Básicos

• Visitar: se dice que un nodo es visitado cuando el control del programa se detiene en él para hacer alguna operación tal como acceder a su data, imprimir su data, modificar su data. Cuando solamente se pasa por sobre un nodo no se considera una visita al mismo.

• Recorrer .... Un árbol significa visitar todos sus nodos en un orden específico.

Ejemplo: B-A-C-E-F-D-G-H-I

A

B C D

E FG H I

Page 19: ARBOLES GENERALIZADOS

Árboles

Conceptos Básicos

• Nivel: el nivel de un nodo es el numero de generaciones que hay desde la raíz hasta él.

El nivel de la raíz es cero.• Profundidad o altura = Nivel: es la longitud del camino mas largo desde la

raíz hasta una hoja.La profundidad de este árbol es 2. La raíz tiene profundidad 0.

Nivel 0Nivel 0A

B C D

E FG H INivel 2Nivel 2

Nivel 1Nivel 1

Page 20: ARBOLES GENERALIZADOS

Si hay un camino de A hasta B, se dice que A es antecesor de B, y que B es sucesor de A.

Padre es el antecesor inmediato de un nodo Hijo, cualquiera de sus desc}ientes inmediatos. Descendiente de un nodo, es cualquier sucesor

de dicho nodo. Hermano de un nodo, es otro nodo con el mismo

padre. Generación, es un conjunto de nodos con la

misma profundidad.

20

Conceptos Básicos

Page 21: ARBOLES GENERALIZADOS

Raíz es el nodo que no tiene ningún predecesor (sin padre).

Hoja es el nodo que no tiene sucesores (sin hijos) (Terminal). Los que tienen predecesor y sucesor se llaman nodos interiores.

Rama es cualquier camino del árbol. Bosque es un conjunto de árboles

desconectados. Nivel o profundidad de un nodo, es la

longitud del camino desde la raíz hasta ese nodo.El nivel puede definirse como 0 para la raíz y nivel (predecesor)+1 para los demás nodos.

21

Conceptos Básicos (cont.)

Page 22: ARBOLES GENERALIZADOS

Los nodos de la misma generación tienen el mismo nivel.

Grado de un nodo, es el número de flechas que salen de ese nodo (hijos). El número de las que entran siempre es uno.

Grado de un árbol, es el mayor grado que puede hallarse en sus nodos.

22

Conceptos Básicos (cont.)

Page 23: ARBOLES GENERALIZADOS

23

Conceptos Básicos (cont.)

Raízhijo

Hermano

Padre

hoja

Subárbol

Nivel de profundidad = 7 Grado de un nodo = 3 Grado del árbol = 3

Page 24: ARBOLES GENERALIZADOS

24

Conceptos Básicos (cont.)