UNIDAD ACADMICA PROFESIONAL TIANGUISTENCO LICENCIATURA EN INGENIERA DE

































- Slides: 33
UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO LICENCIATURA EN INGENIERÍA DE SOFTWARE UNIDAD DE APRENDIZAJE: ESTRUCTURAS DE DATOS Créditos institucionales de la UA: 8 Material visual: Diapositivas Unidad de competencia V ÁRBOLES Elaboró M. en C. Selene Palacios Astudillo Período 2015 -B 1
¿Cómo emplear este material? El presente material tiene como cometido facilitar la exposición gráfica del tema “Árboles” que se aborda en la unidad de aprendizaje “Estructuras de Datos” que corresponde al tercer semestre de la Licenciatura en Ingeniería de Software. La presentación deberá ir acompañada de una explicación oral del catedrático, ya que la aportación que pueda hacer mediante ejemplos y situaciones cotidianas brindará la oportunidad de que los estudiantes comprendan la importancia de construir argumentos sólidos, creíbles y bien soportados. 2
ARBOLES -ÍNDICE Tema Diapositiva Definición 5 Representación 11 Recorridos 27 Operaciones 32 Bibliografía 33 3
Árboles. Subtemas: q Definición. q Representación. Al término de la unidad temática, los estudiantes serán capaces, de desarrollar aplicaciones con el uso de estructuras de datos jerárquicas utilizando un lenguaje de programación. q Recorridos. q Operaciones. 4
ARBOLES - DEFINICIÓN Del latín arborem; la real academia española, define el árbol como: planta perenne, de tronco leñoso y elevado que se ramifica a cierta altura del suelo, produce ramas, que parten de un único tronco, dando lugar a una nueva copa separada del suelo. 5
ARBOLES - DEFINICIÓN árbol genealógico 6
ARBOLES - DEFINICIÓN - q Estructura no lineal y de dos dimensiones de datos. q Los nodos de los arboles contienen dos o más enlaces. q Normalmente se dibujan en forma opuesta a los árboles en la naturaleza. 7
Punt Izq ARBOLES - VOCABULARIO Inicio Hijo Izq Descendiente Sub-árbol Izq Raíz Info Padre o Antepasado N 0 Hijo Der Descendiente Hermanos Punt Der N 1 N 2 N 3 Hojas El nível Nx de un nodo, distancia a la raíz. Raíz Nivel 0 Número máximo de nodos de cualquier nivel es 2 N Sub-árbol Der Nodo: 0, 1, 2 hijos Todos los nodos son descendientes de 8 la raíz
ARBOLES - árbol binario Características q Sus nodos contienen dos enlaces. q El valor de sus nodos pudiese se NULL. q El nodo raíz es el primer nodo de un árbol. q Cada enlace en el nodo raíz se refiere a un hijo. q El hijo izquierdo es el elemento menor a su raíz. q El hijo derecho es el elemento mayor a la raíz. q Los hijos de un nodo se conocen como descendientes. q Un nodo sin hijos se conoce como nodo de hoja. 9
ARBOLES - árbol binario • Subtemas: q Definición. q Representación. q Recorridos. q Operaciones. 10
ARBOLES - Representación - Construir un árbol binario, con la siguiente información. 11
ARBOLES - Representación - raíz NULL 14 NULL 12
ARBOLES - Representación - 15>14 NULL 14 15 NULL 13
ARBOLES - Representación - 4<14 NULL 14 15 4 NULL 14
ARBOLES - Representación - NULL 9<14 y 9>4 NULL 14 15 4 9 NULL 15
ARBOLES - Representación - NULL 7<14 y 7>4 y 7<9 NULL 14 15 4 9 7 NULL 16
ARBOLES - Representación - NULL NULL 14 15 4 9 7 18 NULL 18>14 y 18>15 17 NULL
ARBOLES - Representación - 3<14 y 3>4 NULL 14 15 4 9 7 18 3 NULL 18 NULL
ARBOLES - Representación - NULL 5<14 y 5>4 y 5<9 y 5<7 15 4 9 7 18 3 5 NULL 14 NULL 19 NULL
ARBOLES - Representación - NULL NULL NULL 16>14 y 16>15 y 16<18 14 15 4 9 7 18 3 5 16 20
ARBOLES - Representación Note que, 4 no es mayor ni menor que 4, motivo por el cual la condición se hace falsa y no inserta NULL NULL 14 15 4 9 7 18 3 5 16 4 NULL NULL 21
ARBOLES - Representación - NULL ¿Qué condiciones se cumplieron para insertar el 20? NULL NULL 14 NULL NULL 15 4 9 7 18 3 5 16 4 20 22
ARBOLES - Representación - NULL ¿Y para el 17? NULL 14 NULL 15 4 9 7 18 3 5 16 4 20 17 NULL NULL 23
ARBOLES - Representación - NULL ¿Por qué el 9, 14 y 5 no se insertan? NULL 14 NULL 15 4 9 7 18 3 5 16 4 20 17 9 14 5 NULL 24
ARBOLES - Representación - Finalmente nuestro árbol binario queda expresado de la siguiente manera: 25
ARBOLES - árbol binario • Subtemas: q Definición. q Representación. q Recorridos. q Operaciones. 26
ARBOLES - Recorridos Pre-Orden. • 1. Visitar la raíz • 2. Recorrer el sub-árbol izquierdo en pre-orden • 3. Recorrer el sub-árbol derecho en pre-orden In-Orden. • 1. Recorrer el sub-árbol izquierdo en in-orden • 2. Visitar la raíz • 3. Recorrer el sub-árbol derecho en in-orden 22 Post-Orden. • 1. Recorrer el sub-árbol izquierdo en post-orden • 2. Recorrer el sub-árbol derecho en post-orden • 3. Visitar la raíz 27
Pre-Orden ARBOLES - Recorrido pre-orden - 14 1. Visitar la raíz 2. Recorrer el sub-árbol izquierdo en pre-orden 3. Recorrer el sub-árbol derecho en pre-orden 4 9 3 7 5 14, 4, 3, 9, 7, 5, 18, 16, 17, 20 15 18 16 20 17 28
In-Orden ARBOLES - Recorrido in-orden - 14 1. Recorrer el sub-árbol izquierdo en in-orden 2. Visitar la raíz 3. Recorrer el sub-árbol derecho en in-orden 4 3 3, 4, 5, 7, 9, 14, 15, 16, 17, 18, 20. 18 9 7 5 15 16 20 17 29
Post-Orden ARBOLES - Recorrido post-orden - 14 1. Recorrer el sub-árbol izquierd 0 en post-orden 2. Recorrer el sub-árbol derecho en post-orden 3. Visitar la raíz 4 9 3 7 5 3, 5, 7, 9, 4, 17, 16, 20, 18, 15, 14. 15 18 16 20 17 30
ARBOLES - árbol binario • Subtemas: q Definición. q Representación. q Recorridos. q Operaciones. 31
ARBOLES - Operaciones Creación de un árbol crear. Arbol(nombre. Arbol) Comprobación del estado arbol. Vacío(nombre. Arbol)->Booleano Inserción de nodos Insertar(padre, valor. Info, posicion) Borrado de nodos borrar(nombre. Arbol, valor. Info) Búsqueda de un nodo pertenece(nombre. Arbol, dato)-> Booleano buscar(nombre. Arbol, información)->referencia. Nodo Recorrido del árbol recorrer(nombre. Arbol, tipo. Recorrido) Acceso a los nodos info(referencia. Nodo)->Información izq(referencia. Nodo)->enlace der(referencia. Nodo)->enlace eshoja(referencia. Nodo)->Booleano Modificación de los nodos asignar. Info(referencia. Nodo, valor. Informacion) asignar. Izq(referencia. Nodo, valor. Enlace) asignar. Der(referencia. Nodo, valor. Enlace) 32
Bibliografía Ø Cairo Osvaldo y Guardati Silvia. Estructura de datos. Mc. Graw-Hill, 1992. México. Ø Ceballos Sierra Francisco Javier. Enciclopedia del lenguaje C. Alfa. Omega, 2007. México. Ø Dale Nell y Lilly Susan. Pascal y estructuras de datos (2ª edición). Mc. Graw-Hill, 1992. México. Ø H. M. Deitel, P. J. Deitel. Como programar en C y C++ (2ª edición). Prentice Hall, 1995. México. Ø Joyanes Aguilar, Luis. Fundamentos de programación. Algoritmos, estructuras de datos y objetos (3ª edición). Mc. Graw-Hill, 2003. España. 33