Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de...

38
05/06/2018 1 Facultad de Informática Culiacán Tema: ARBOLES Instructor: MC. Gerardo Gálvez Gámez Junio de 2018 UNIVERSIDAD AUTÓNOMA DE SINALOA Árboles • FIC-UAS INTRODUCCIÓN: Hasta el momento solo se han estudiado estructuras lineales y dinámicas de datos: A UN ELEMENTO LE SIGUE OTRO ELEMENTO. Los árboles representan las estructuras no-lineales y dinámicas de datos mas importantes en computación: Dinámicas: La estructura árbol puede cambiar durante la ejecución de un programa. No Lineales: A cada elemento del árbol pueden seguirle varios elementos.

Transcript of Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de...

Page 1: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

1

Facultad de Informática Culiacán

Tema: ARBOLES

Instructor: MC. Gerardo Gálvez Gámez

Junio de 2018

UNIVERSIDAD AUTÓNOMA DE SINALOA

Árboles • FIC-UAS

INTRODUCCIÓN:

Hasta el momento solo se han estudiado estructuras lineales y

dinámicas de datos:

A UN ELEMENTO LE SIGUE OTRO ELEMENTO.

Los árboles representan las estructuras no-lineales y dinámicasde datos mas importantes en computación:

•Dinámicas: La estructura árbol puede cambiar durante la

ejecución de un programa.

•No Lineales: A cada elemento del árbol pueden seguirle varios

elementos.

Page 2: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

2

Árboles • FIC-UAS

Estructuras de datos mas importantes

clasificadas de acuerdo a su estaticidad y

dinamismo.

Estructuras estáticas Estructuras dinámicas

Arreglos

Registros

Conjuntos (Colecciones)

Listas

Árboles

Árboles • FIC-UAS

Estructuras de datos mas importantes de

acuerdo a su linealidad y no-linealidad

Estructuras lineales Estructuras no-lineales

Arreglos

Registros

Conjuntos

Pilas

Colas

Listas

Árboles

Page 3: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

3

Árboles • FIC-UAS

Árbol

•Es una estructura jerárquica aplicada sobre una colección de

elementos u objetos llamados nodos;

• Uno de los cuales es conocido como raíz.

•Además se crea una relación o parentesco entre los nodos

dando lugar a términos como:

• padre,

• hijo,

•hermano,

•antecesor,

•sucesor,

•ancestro, etc.

ÁRBOLES EN GENERAL

Árboles • FIC-UAS

Una forma particular de árbol es la estructura vacía.

Se utiliza la recursión para definir un árbol porque

representa la forma mas apropiada y porque además es una

característica inherente a los mismos.

Los árboles tienen un gran variedad de aplicaciones. Por

ejemplo:

•Se pueden utilizar para representar:

• formulas matemáticas,

•organizar información, etc.

ÁRBOLES EN GENERAL

Page 4: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

4

Árboles • FIC-UAS

Gráficamente una estructura árbol puede representarse de

diferentes formas y todas ellas equivalentes.

Árboles • FIC-UAS

(A(B(D(I),E,F(J,K)),C(G,h(L))))

I KJ

G

L

E

AC

H

B

D F

a) Diagrama de Venn.

b) Anidación de paréntesis.

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

c) Notación decimal de Dewey.

Representación Grafica

Page 5: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

5

Árboles • FIC-UAS

AB

D

I

E

FJ

KC

GH

Ld) Notación Indentada.

A

B C

HGD E F

K LI J

e) Grafo

Representación Grafica

Árboles • FIC-UAS

Características de los árboles

a) Todo árbol que no es vació, tiene un único nodo

raíz.

b) Un nodo X es descendiente directo de un nodo Y,

si el nodo X es apuntado por el nodo Y. En este

caso es común utilizar la expresión X es hijo de Y.

c) Un nodo X es antecesor directo de un nodo Y, si

el nodo X apunta al nodo Y. En este caso

utilizamos la expresión X es padre de Y.

d) Se dice que todos los nodos que son

descendientes directos (hijos) de un mismo nodo

(padre), son hermanos.

e) Todo nodo que no tiene ramificaciones (hijos), se

conoce con el nombre de terminal u hoja.

I

D

B

A

C

H

L

E F

J K

G

Page 6: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

6

Árboles • FIC-UAS

Características de los árboles

a) Todo nodo que no es raíz, ni Terminal u hoja se conoce

con el nombre de Nodo interior.

b) Grado del Nodo, es el número de descendientes

directos de un determinado nodo.

c) Grado del árbol, es el máximo grado de todos los

nodos del árbol.

d) Nivel es el número de arcos que deben ser recorridos

para llegar a un determinado nodo. Por definición la

raíz tiene nivel 1.

e) Altura del árbol es el máximo número de niveles de

todos los nodos del árbol.

I

D

B

A

C

H

L

E F

J K

G

Árboles • FIC-UAS

Ejemplo: ÁRBOL GENERAL.

Dado el árbol general de la figura de abajo, se hacen sobre él las siguientes

consideraciones.

I

D

B

A

C

H

L

E F

J K

G

1.- A es la raíz 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 hermanos. 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 nodo A es 2. B es 3. C es 2. D es 1. E es 0. El grado del árbol es 3.

8.- El nivel del nodo A es 1. B es 2. D es 3. C es 2. L es 4.

9.- La altura del´árbol es 4.

Page 7: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

7

Árboles • FIC-UAS

Se define la longitud del camino X como el

número de arcos que deben ser recorridos para

llegar desde la raíz hasta el nodo X.

Por definición la raíz tiene longitud de camino 1,

sus descendientes directos longitud de camino 2 y

así sucesivamente.

LONGITUD DE CAMINO INTERNO Y EXTERNO

Árboles • FIC-UAS

La longitud de camino interno es la suma de las

longitudes de camino de todos los nodos del árbol. Se

calcula con la siguiente formula:

Donde:

i=representa el nivel del árbol,

h= su altura y

n¡= el numero de nodos en el nivel.

LONGITUD DE CAMINO INTERNO

=

=h

i

i inLCI1

*

Page 8: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

8

Árboles • FIC-UAS

A

B C

HGD E F

K LI J

Ejemplo: LCI = 1*1+2*2+3*5+4*4 = 36

Ahora la media de la longitud de camino interno (LCIM) se calcula dividiendo la LCI entre

el número de nodos del árbol (n), se expresa:

LCIM = LCI/n

Significa que el número de arcos que deben ser recorridos en promedio para llegar,

partiendo desde la raíz, a un nodo cualquiera del árbol es:

LCIM = 36/12 = 3

1

2

3

4

Nivel

Árboles • FIC-UAS

Para definir la longitud de camino externo es necesario primero

definir los conceptos árbol extendido y nodo especial.

Un árbol extendido es aquel en el que el número de hijos de

cada nodo es igual al grado del árbol. Si no cumple con esta

condición entonces deben incorporarse al mismo nodos

especiales.

Los nodos especiales tienen como objetivo remplazar las

ramas vacías o nulas, no pueden tener descendientes y

normalmente se representan con la forma de un cuadrado.

LONGITUD DE CAMINO EXTERNO

Page 9: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

9

Árboles • FIC-UAS

A

B C

D E F G H

I J LK

ARBOL GENERAL

ARBOL

EXTENDIDO

A

B C

D E F G H

I J LK NODO ESPECIAL

Árboles • FIC-UAS

Definición de LCE

• Es la sumatoria de las longitudes de camino de todos los nodos especiales del árbol.

Page 10: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

10

Árboles • FIC-UAS

La formula utilizada es la siguiente:

Donde:

i= representa el nivel del árbol,

h su altura y

ne¡= el numero de nodos especiales en el nivel i.

Observe que: i comienza desde 2, puesto que la raíz se

encuentra en el nivel 1 y no puede ser un nodo especial.

+

=

=1

2

*h

i

i ineLCE

Árboles • FIC-UAS

El numero de nodos especiales en este árbol es de 25, y la

LCE se calcula de la siguiente manera:

LCE= 1*2 + 1*3+11*4+12*5=109

Ejemplo:A

B C

D E F G H

I J LK

Número de Nodos Especiales Nivel

Page 11: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

11

Árboles • FIC-UAS

Ahora la media de la longitud de camino externo

(LCME) se calcula dividiendo la LCE entre el número de

nodos especiales del árbol (ne).

LCEM = LCE / ne

Y significa el número de arcos que deben ser

recorridos en promedio para llegar, partiendo desde la raíz,

a un nodo especial cualquiera en el árbol.

LCEM = 109/25=4.36

Árboles • FIC-UAS

Un árbol ordenado es aquel en el cual las ramas de los nodos

están ordenadas. Los árboles ordenados de grado 2 son de

especial interés puesto que representan una de las estructuras de

datos más importantes en computación, conocidas como árboles

binarios.

En un árbol binario cada nodo puede tener como máximo dos

subárboles y siempre es necesario distinguir entre el subárbol

izquierdo y el subárbol derecho.

ÁRBOLES BINARIOS

Page 12: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

12

Árboles • FIC-UAS

Aplicaciones

1. Se pueden utilizar para representar unaestructura en la cual es posible tomardecisiones con dos opciones en distintospuntos de un proceso,

2. Para representar un árbol genealógico,

3. Para representar expresiones algebraicasconstruidas con operadores binarios.

Árboles • FIC-UAS

DISTINTAS APLICACIONES DE ÁRBOLES

BINARIOS

27

14

7

47

59

77

32

5011

Árbol binario de búsqueda

+

AB

^

3.5/

C D

*

Representación de una

expresión algebraica

Page 13: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

13

Árboles • FIC-UAS

Árboles • FIC-UAS

Page 14: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

14

Árboles • FIC-UAS

Dos árboles son similares cuando sus estructuras son

idénticas, pero la información que contienen sus

nodos difieren entre sí.

A

B C

D

P

R T

S

Árboles • FIC-UAS

ÁRBOLES BINARIOS DISTINTOS

A

B C

D

A

B

C D

Page 15: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

15

Árboles • FIC-UAS

Los árboles binarios equivalentes se definen como

aquellos que son similares y edemas los nodos

contienen la misma información

A

B C

D

A

B C

D

Árboles • FIC-UAS

ÁRBOLES BINARIOS COMPLETOS

Se define un árbol binario completo como un árbol en el que

todos sus nodos, excepto los del ultimo nivel, tienen dos hijos: un

subárbol izquierdo y uno derecho.

Se puede calcular el número de nodos de un árbol binario

completo de altura h, aplicando esta formula:

Donde:

ABC significa árbol binario completo, y

h la altura del árbol

Page 16: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

16

Árboles • FIC-UAS

ÁRBOL BINARIO COMPLETO NIVEL 3

A

B C

D E F G

Árboles • FIC-UAS

No son árboles binarios

Page 17: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

17

Árboles • FIC-UAS

Existen dos formas tradicionales de representar un árbol binario

en memoria:

1. Por medio de datos tipo puntero, también conocidos como

variables dinámicas. (Objetos en C#, Java)

2. Por medio de arreglos.

Sin embargo se utilizara y explicara la primera forma, ya que

es la más natural para tratar este tipo de estructuras.

Los nodos del árbol binario serán representados como

registros, que contendrán como mínimo tres campos. En un

campo se almacenara la información del nodo. Los dos

restantes se utilizaran para apuntar los subárboles izquierdo y

derecho, respectivamente, del nodo en cuestión.

REPRESENTACIÓN DE ÁRBOLES BINARIOS EN MEMORIA

Árboles • FIC-UAS

Dado el siguiente Nodo T:

IZQUIERDO INFOMACIÓN DERECHO

IZQUIERDO: Campo donde se almacena la dirección del subárbol

izquierdo del nodo T

INFORMACIÓN: Campo donde se almacena la información de interés

del nodo. Normalmente en este campo se almacenará un valor simple: número o

carácter. Sin embargo, en la práctica es común almacenar en este campo

registros, arreglos y conjuntos.

DERECHO: Campo donde se almacena la dirección del subárbol derecho

del nodo T.

Page 18: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

18

Árboles • FIC-UAS

Diseño de la clase NodoT

Árboles • FIC-UAS

Actividad:

• El alumno elaborara unproyecto para Windows en C#o Java, y codificara el diseñode la clase NodoT,correspondiente a la propuestadada anterior.

• Tiempo: 15min.

Page 19: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

19

Árboles • FIC-UAS

Ejemplo de Definición de la clase en

Lenguaje C#class NodoT

{//Atributosprivate int informacion;private NodoT izquierdo;private NodoT derecho;

//constructorespublic NodoT(){

this.informacion=0;this.izquierdo=null;this.derecho = null;

}//propiedadespublic int Informacion{

get { return this.informacion; }set { this.informacion = value; }

}

public NodoT Izquierdo{

get { return this.izquierdo; }set { this.izquierdo = value; }

}public NodoT Derecho{

get { return this.derecho; }set { this.derecho = value; }

}}

Árboles • FIC-UAS

Operaciones en Árboles Binarios de

búsqueda

• Insertar un nodo

• Buscar un nodo

• Eliminar un nodo

• Recorrido:▫ Postorden

▫ Inorden

▫ Preorden

Page 20: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

20

Árboles • FIC-UAS

Diseño de la clase Árbol

Árboles • FIC-UAS

Actividad:

• El alumno programara la claseÁrbol, correspondiente aldiseño anterior, utilizando ellenguaje C# ó Java.

• Tiempo: 15min.

Page 21: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

21

Árboles • FIC-UAS

El árbol binario de búsqueda es una estructura sobre la cual se

pueden realizar eficientemente las operaciones de búsqueda,

inserción y eliminación.

Comparando esta estructura con otras, pueden observarse ciertas

ventajas. Por ejemplo, en un arreglo es posible localizar datos

eficientemente si estos se encuentran ordenados, pero las

operaciones de inserción y eliminación resultan costosas.

En las listas, dichas operaciones se pueden llevar acabo con

facilidad, sin embargo, la búsqueda es una operación bastante

costosa, que incluso nos puede llevar a recorrer todos los

elementos de ella para localizar uno en particular.

ÁRBOLES BINARIOS DE BÚSQUEDA

Árboles • FIC-UAS

Formalmente se define de la siguiente manera:

“Para todo nodo T del árbol debe cumplirse que

todos los valores de los nodos del subarbol

izquierdo de T serán menores o iguales al valor

del nodo T. De forma similar, todos los valores

de los nodos del subarbol derecho de T deben

ser mayores o iguales al valor del nodo T.”

ÁRBOLES BINARIOS DE BÚSQUEDA

Page 22: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

22

Árboles • FIC-UAS

ÁRBOL BINARIO DE BÚSQUEDA

120

87 140

99 13043

22 65

56

93 135

Árboles • FIC-UAS

INSERCIÓN

Page 23: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

23

Árboles • FIC-UAS

La inserción es un operación que se puede realizar eficientemente en un

árbol binario de búsqueda. La estructura crece conforme se inserten

elementos al árbol.

Los pasos que deben realizarse para la inserción de elementos a un árbol

binario de búsqueda son:

1. Debe compararse la clave a insertar con la raíz del árbol. Si es mayor

debe avanzarse al subárbol derecho. Si es menor, debe avanzarse al

subárbol izquierdo.

2. Repetir el paso 1 hasta que se cumpla alguna de las siguientes

condiciones:

a) El subárbol derecho es igual a vacío, o el subárbol izquierdo es

igual a vacío, en cuyo caso se procederá a insertar el elemento en el

lugar que le corresponde.

b) La clave que quiere insertarse es igual a la raíz del árbol, en cuyo

caso no se realiza la inserción.

INSERCIÓN EN UN ÁRBOL BINARIO DE BÚSQUEDA

Árboles • FIC-UAS

Actividad:

• El instructor ejemplificara lasinserciones de nodos en un árbolbinario de búsqueda, para que elalumno diseñe y programe elmétodo insertar para la claseárbol.

• Tiempo de explicación: 15min.

• Tiempo de diseño, codificación yprueba del método: 40 minutos

Page 24: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

24

Árboles • FIC-UAS

Actividad: Referencia Cairo pág.#206

• Dada la siguiente lista de datos, forme unárbol binario de búsqueda, respetandosu principio.

• Datos:▫ 120, 87, 40, 43, 99, 130, 22, 65, 93, 135,

56, 40

▫ Representación grafica▫ Representación en memoria

Árboles • FIC-UAS

Actividad: Tarea

• Diseña un modelo gráfico del árbolbinario, reflejando las siguientesinserciones de valores para losnodos, supón este mismo orden dellegada.

• Valores:30,20,60,15,25,20,22,70,40,65,80,28 y 50. Traza la línea deenlace que representa al apuntadordel nodo.

Page 25: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

25

Árboles • FIC-UAS

Propuesta del algoritmo de Inserción 1/2

public void Insertar(NodoT Raiz, int Dato){

if(Dato<Raiz.Informacion){

if(Raiz.NodoIzquierda==null){

NodoT NuevoNodo=new NodoT();NuevoNodo.Informacion=Dato;Raiz.NodoIzquierda=NuevoNodo;

}else{

//llamada recursiva por lado izquierdoInsertar(Raiz.NodoIzquierda,Dato);

}}else //buscar por el lado derecho

Árboles • FIC-UAS

Propuesta del algoritmo de Inserción 2/2

{if(Dato>Raiz.Informacion){

if (Raiz.NodoDerecha==null){

NodoT NuevoNodo=new NodoT();NuevoNodo.Informacion=Dato;Raiz.NodoDerecha=NuevoNodo;

}else{

//llamada recursiva por el lado derechoInsertar(Raiz.NodoDerecha,Dato);

}}else{

//el nodo existe en el árbolConsole.Write("Nodo Existente, Imposible insertar,...");Console.ReadLine();

}}

}//fin del método

Page 26: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

26

Árboles • FIC-UAS

RECORRIDO EN ÁRBOL BINARIO

Una de las operaciones más importantes a realizar en un

árbol binario es el recorrido de los mismos. Recorrer

significa visitar los nodos del árbol en forma

sistemática, de tal manera que todos los nodos sean

visitados una sola vez.

Existen tres formas diferentes de recorrido y todas ellas

de naturaleza recursiva, estas son:

1. Recorrido en preorden2. Recorrido en inorden3. Recorrido en postorden

Árboles • FIC-UAS

Recorrido en Preorden

Algoritmo:

1. Visitar la raíz (tomar ó imprimir el valor del campoinformación)

2. Recorrer el subárbol izquierdo3. Recorrer el subárbol derecho

A

B C

ED GF

PREORDEN: A B D E C F G

Page 27: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

27

Árboles • FIC-UAS

Recorrido en Inorden

Algoritmo:

1. Recorrer el subárbol izquierdo

2. Visitar la raíz (tomar ó imprimir el valor del campo información)

3. Recorrer el subárbol derecho

INORDEN: D B E A F C G

A

B C

ED GF

Árboles • FIC-UAS

A

B C

ED GF

POSTORDEN: D E B F G C A

Recorrido en Postorden

1. Recorrer el subárbol izquierdo2. Recorrer el subárbol derecho3. Visitar la raíz (tomar ó imprimir el valor del campo

información)

Page 28: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

28

Árboles • FIC-UAS

Actividad:

• El instructor ejemplificara losalgoritmos de recorridos de losnodos en un árbol binario debúsqueda, para que el alumnodiseñe y programe los métodocorrespondientes a cada tipo derecorrido para la clase árbol.

• Tiempo de explicación: 20 min.

• Tiempo de diseño, codificación yprueba del método: 30 minutos

Árboles • FIC-UAS

Actividad: Referencia Cairo pág.#206

Datos: 120, 87, 140, 43, 99, 130, 22, 65, 93,

135, 56, 140

Page 29: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

29

Árboles • FIC-UAS

Recorridos, referencia: Cairo pág.#192-

• Del Árbol obtenido en el inciso anterior obtenga los recorridos:

▫ Preorden:_______________________

▫ Inorden:________________________

▫ Postorden: ______________________

Árboles • FIC-UAS

1 Punto para 3re examen parcial.

Page 30: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

30

Árboles • FIC-UAS

Actividad: Evaluación

• Dada la siguiente lista de datos, forme unárbol binario de búsqueda, respetandosu principio.

• Datos:▫ 400,250,500,300,100,550,250,50,150,280,

▫ 320,420,480,510,560

▫ Representación grafica

Árboles • FIC-UAS

Actividad -Recorridos

• Del Árbol obtenido en el inciso anterior obtenga los recorridos:

▫ Preorden:_______________________

▫ Inorden:________________________

▫ Postorden: ______________________

Page 31: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

31

Árboles • FIC-UAS

Actividad: Revisión del Proyecto

• Dado el ejemplo anterior, alimentar alproyecto desarrollado en C#, revisar el

listado obtenido:

▫ Preorden:_______________________

▫ Inorden:________________________

▫ Postorden: ______________________

Árboles • FIC-UAS

Algoritmos que efectúan los

diferentes tipos de recorrido

en un árbol binario.

Page 32: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

32

Árboles • FIC-UAS

Árboles • FIC-UAS

Page 33: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

33

Árboles • FIC-UAS

Árboles • FIC-UAS

Page 34: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

34

Árboles • FIC-UAS

Árboles • FIC-UAS

La operación de borrado es un poco mas complicada que la

inserción. Esta consiste en borrar un nodo sin violar los principios que definen

un árbol binario de búsqueda. Se deben distinguir los siguientes pasos:

1. Si el elemento a borrar es terminal u hoja, simplemente se

suprime.

2. Si el elemento a borrar tiene un solo descendiente, entonces tiene

que sustituirse por ese descendente.

3. si el elemento a borrar tiene los dos descendientes, entonces se

tiene que sustituir por el nodo que se encuentre más a la izquierda en el

subárbol derecho o por el nodo que se encuentra más a la derecha en el

subárbol izquierdo.

Además antes de eliminar un nodo debe localizársele en el árbol.

Para esto, se utiliza el algoritmo de búsqueda.

BORRADO EN UN ÁRBOL BINARIO DE BÚSQUEDA

Page 35: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

35

Árboles • FIC-UAS

Árboles • FIC-UAS

Page 36: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

36

Árboles • FIC-UAS

Actividad: Referencia Cairo pág.#206

• Dada la siguiente lista de datos, forme unárbol binario de búsqueda, respetandosu principio.

• Datos:▫ 120, 87, 40, 43, 99, 130, 22, 65, 93, 135,

56, 40

▫ Representación grafica▫ Representación en memoria

Árboles • FIC-UAS

Recorridos, referencia: Cairo pág.#192-

• Del Árbol obtenido en el inciso anterior obtenga los recorridos:

▫ Preorden:_______________________

▫ Inorden:________________________

▫ Postorden: ______________________

Page 37: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

37

Árboles • FIC-UAS

Búsqueda Binaria referencia: Cairo Pág.#206

• Dato el árbol binario de búsqueda obtenido en el inciso #1, determine si los siguientes nodo existen y en que dirección de encuentran:

• Dato:

▫ 43:___________________

▫ 80:___________________

Árboles • FIC-UAS

Eliminación referencia Cairo pág.#211

• Dado el árbol obtenido en el inciso #1, elimine los siguientes nodos, representando gráficamente el árbol en después de cada eliminación.

▫ 22, 99, 87, 120, 140, 135, 56

Page 38: Presentacion Analisis y diseño orientado a objetosgalvez.milibreta.com.mx/UAS/Estructura de Datos/7.-Arboles.pdf · Ahora la media de la longitud de camino interno (LCIM) se calcula

05/06/2018

38

Árboles • FIC-UAS

Actividad: Proyecto Final

• Entregar un proyecto en el lenguajeC# o Java, que represente lasdiversas operaciones de un árbolbinario de búsqueda.

▫ Retos.

1. El alumno codificara el método deeliminación.

2. Operaciones en arboles AVL(opcional 1 punto).

Árboles • FIC-UAS

Preguntas?

FIN de Unidad