RECORRIDO EN ARBOLES

Documentos relacionados
ESTRUCTURA DE DATOS. ABB Arboles de Búsqueda Binaria

Capítulo 8. Árboles. Continuar

Árboles de Decisión Árboles de Sintaxis

Definición recursiva de los árboles

Análisis y Complejidad de Algoritmos. Arboles Binarios. Arturo Díaz Pérez

Estructura de Datos. Índice

Estructura de Datos Unidad 6: ARBOLES

ESTRUCTURAS DE DATOS Y ALGORITMOS

Tema: Arboles en C#. Objetivos Específicos. Materiales y Equipo. Introducción Teórica. Definición de Árbol Binario. Programación IV. Guía No.

Estructura de Datos. Unidad V Estructuras no lineales estáticas y dinámicas. (Árboles y grafos)

Estructura de Datos. Temario Unidad VI. Árboles Árboles Binarios

CAPÍTULO 2. ÁRBOLES 2.0. CONCEPTOS GENERALES

Programación II Tema 5. Árboles binarios

1. Cuál es el número total máximo de nodos que tiene un árbol binario de N niveles? a. N 2-1 b. 2 N+1-1 c. 2 N d. 2 N+1 i.

Nombre de la asignatura : Estructura de Datos I. Carrera : Ingeniería en Sistemas Computacionales. Clave de la asignatura : SCB-9321

ÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES

Tema 5. Tipos Abstractos de Datos

Unidad II: Análisis semántico

Estructuras de Datos y Algoritmos

A) PREORDEN B) INORDEN C) POSTORDEN D) NIVELES

Este material es de uso exclusivo para clase de algoritmos y estructura de datos, la

PRÁCTICA No. 9 RECORRIDOS EN ÁRBOLES BINARIOS

Estructura de datos y algoritmos. Tema V TDA DINÁMICOS NO LINEALES: Árboles: árboles binarios

Estructura de datos y de la información Boletín de problemas - Tema 10

Tema: Análisis de código intermedio

Árboles y esquemas algorítmicos. Tema III

Estructuras de datos utilizando JAVA

Profesor: José Miguel Rubio L.

Arboles. Definiciones formales: 1) un árbol es un grafo acíclico finito T (P, E) tal que. P = E + 1 => todo arco es desconectante.

Tema: ARBOLES. Instructor: MC. Gerardo Gálvez Gámez Junio de 2018 INTRODUCCIÓN:

Estructuras de datos y algoritmos

Carlos Delgado Kloos Mª Carmen Fernández Panadero Raquel M. Crespo García Ingeniería Telemática Univ. Carlos III de Madrid

Tema 09: TAD Árbol binario

El método main de la clase PruebaArbol, empieza creando una instancia de un objeto Árbol vacío y asigna su referencia a la variable árbol

Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS

Árboles binarios. Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile

1. Leer el primer número y almacenarlo en la raíz del árbol. 2. Repetir hasta encontrar un duplicado o el árbol esté vacío.

Estructuras de Datos

Tema Árboles generales. 9.2 Árboles binarios 9.3 Árboles de búsqueda

Árboles Carlos Delgado Kloos Mª Carmen Fernández Panadero Raquel M. Crespo García Ingeniería Telemática Univ. Carlos III de Madrid

Programación Estructuras Arborescentes

ARBOLES GENERADORES. Orlando Arboleda Molina. 16 de septiembre de Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle

Matemáticas Discretas Tc1003 Teoría de Grafos

Unidad I: Análisis semántico

Programación lógica con árboles. Introducción. Contenido. Introducción. 1. Programación con árboles 2. Otras estructuras arbóreas

Algoritmos y estructuras de datos

Tema 4. Estructuras no lineales de datos: árboles

Unidad VI Generación de Código Intermedio. M.C. Juan Carlos Olivares Rojas

Estructura de Datos Tema 6. Árboles. Contenido 14/06/2018

Listas Posicionales. Listas posicionales

Existen varios tipos de árboles: 5.1 Árboles binarios

Programación Declarativa Universidad de Málaga

Programación II Árboles binarios de búsqueda (ABB)

Estructura de Datos. Árboles. Árboles. Primer Semestre, 2010 ÍNDICE DE CONTENIDOS

Estructuras de Datos Clase 10 Árboles binarios

Un. VI. Generador de código intermedio.

Tema 4. Estructura de datos no lineales Arboles y Grafos. J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

Temario. Tema 5. Estructuras de Datos no Lineales. 5.1 Árboles Binarios 5.2 Árboles n-arios

Una clave Definición informal La clave debe contener una secuencia de una o más letras seguidas por uno o más dígitos

CLAVE V

UNIDAD Creación del Árbol Octal de un objeto sólido vía la definición CSG

Árbol Binario. Manual de usuario

TEMA 3. Árboles. Objetivos. Contenidos. Bibliografía. Básica

Francisco J. Hernández López

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO

Estructuras de Datos ARBOLES Y GRAFOS

Diseño y Análisis de Algoritmos con Java(I Sem. 2004) Prof. Dr.Eric Jeltsch F.

SEMINARIO DE ESPECIFICACIONES ALGEBRAICAS

Ciencias de la Computación I

Estructuras de Datos Clase 10 Árboles binarios

Universidad Salesiana de Bolivia

Algoritmos y Programación II Curso 2006

Matemáticas Discretas Tc1003 Teoría de Grafos

Estructura de Datos y de la Información. Pilas y expresiones aritméticas

Definición: NODO Un nodo es un punto de intersección o unión de varios elementos que confluyen en el mismo lugar.

Estructura de Datos. Árboles Binarios de Búsqueda ABB. Primer Semestre, 2010

Un árbol binario T se define como un conjunto finito de elementos, llamados nodos, de forma que:

Estructuras de Datos y Algoritmos: Boletín de Problemas del segundo parcial

12/08/2017 AVL. Especificación sobre árboles AVL. AVL: rotaciones

Compiladores: Sesión 16. Análisis semántico, traducción dirigida por sintaxis

UNIVERSIDAD NACIONAL DEL ALTIPLANO

Árbol ABB equilibrado. Lección: Árboles. Algorítmica II (Tema 4) Lenguajes y Sistemas Informáticos, Universidad Pablo de Olavide 1/ 58

Tema 1.4. Un lenguaje mínimo y su procesador: El lenguaje objeto y la máquina virtual

Estructuras de Datos. Clase 10 Árboles binarios

ASIGNATURA: (TIS-106) Estructuras de Datos II DOCENTE: Ing. Freddy Melgar Algarañaz TEMA 2. Árboles binarios

Arboles Binarios de Búsqueda en C++

Tema 2: Grafos y Árboles. Algoritmos y Estructuras de Datos 3

ÁRBOL BINARIO. T der. Árbol binario homogéneo es aquel cuyos nodos tienen grado 0 ó 2(no hay ninguno de grado 1).

El TAD Árbol. El TAD Árbol

SYLLABUS. Intencionalidad Formativa PETITC

Capitulo VI Árboles y Grafos

Descubrir los árboles como paradigma de los tipos Recursivos de Datos

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos

Estructura de datos. Carrera: IFM Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

Estructura de datos. Carrera: IFM Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

Matemáticas Discretas

Asignatura de: Matemática Discreta. ucontinental.edu.pe 1

Proyecto Intermedio Algoritmo de Earley

Tema: Recorrido de Grafos

Transcripción:

RECORRIDO EN ARBOLES Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 16 de septiembre de 2008

Contenido Recorrido en árboles Definición Recorrido en Preorden Recorrido en Inorden Recorrido en Postorden Expresión infija Expresión prefija Expresión postfija

Contenido Recorrido en árboles Definición Recorrido en Preorden Recorrido en Inorden Recorrido en Postorden Expresión infija Expresión prefija Expresión postfija

Recorrido en árboles Los árboles ordenados con raíz se utilizan frecuentemente para almacenar la información. Necesitamos procedimientos ( algoritmos de recorrido de un árbol ) que permitan visitar cada uno de los vértices para acceder a los datos. Los 3 algoritmos de recorrido de un árbol mas conocidos son: Recorrido en preorden. Recorrido en inorden. Recorrido en postorden.

Contenido Recorrido en árboles Definición Recorrido en Preorden Recorrido en Inorden Recorrido en Postorden Expresión infija Expresión prefija Expresión postfija

Recorrido en Preorden Sea T un árbol ordenado con raíz r. Si T consta sólo de r, entonces r es el recorrido preorden de T. Sino, suponga que T 1, T 2,..., T n son los subárboles en r listados de izquierda a derecha en T. El recorrido en preorden inicia visitando r, continua recorriendo T 1 en preorden, luego T 2, en preorden, y así sucesivamente hasta recorrer T n en preorden. Procedimiento Preorden ( T : arbol ordenado con raiz) r = raiz de T mostrar (r) Para cada hijo c de r de izquierda a derecha T (c) = subarbol con c como su raiz Preorden(T (c)) Fin Para Fin Procedimiento

Recorrido en Preorden (2) Figura: Ejemplo de un árbol Ejemplo: El recorrido en Preorden del árbol de ejemplo es: a, b, e, f, l, m, g, c, h, i, d, j, n, o,k, p, q.

Contenido Recorrido en árboles Definición Recorrido en Preorden Recorrido en Inorden Recorrido en Postorden Expresión infija Expresión prefija Expresión postfija

Recorrido en Inorden Sea T un árbol ordenado con raíz r. Si T consta sólo de r, entonces r es el recorrido en inorden de T. Sino, suponga que T 1, T 2,..., T n son los subárboles en r listados de izquierda a derecha en T. El recorrido en inorden inicia recorriendo T 1 en inorden y continúa visitando r, a continuación recorre T 2 en inorden, luego T 3, en inorden, y asi sucesivamente hasta recorer T n en inorden.

Recorrido en Inorden (2) Procedimiento Inorden ( T : arbol ordenado con raiz) r = raiz de T Si r es una hoja mostrar (r) Sino l = primer hijo de r de izquierda a derecha T (l) = subarbol de raiz l Inorden (T (l)) mostrar (T (l)) Para cada hijo c de r excepto para l y de izquierda a derecha T (c) = subarbol de raiz c Inorden(T (c)) Fin Para Fin Si Fin Procedimiento

Recorrido en Inorden (3) Figura: Ejemplo de un árbol Ejemplo: El recorrido en Inorden del árbol de ejemplo es: e, b, l, f, m, g, a, h, c, i, n, j, o, d, p, k, q.

Contenido Recorrido en árboles Definición Recorrido en Preorden Recorrido en Inorden Recorrido en Postorden Expresión infija Expresión prefija Expresión postfija

Recorrido en Postorden Sea T un árbol ordenado con raíz r. Si T consta sólo de r, entonces r es el recorrido en postorden de T. Sino, suponga que T 1, T 2,..., T n son los subárboles en r listados de izquierda a derecha en T. El recorrido en postorden inicia recorriendo T 1 en postorden, luego recorre T 2 en postorden y así sucesivamente hasta recorrer T n en postorden y finaliza visitando r. Procedimiento Postorden ( T : arbol ordenado con raiz ) r = raiz de T Para cada hijo c de r de izquierda a derecha T (c) = subarbol de raiz c Postorden(T (c)) Fin Para mostrar (r) Fin Procedimiento

Recorrido en Postorden (2) Figura: Ejemplo de un árbol Ejemplo: El recorrido en Postorden del árbol de ejemplo es: e, l, m, f, g, b, h, i, c, n, o, j, p, q, k, d, a.

Expresiones aritméticas Expresiones complejas (fórmulas proposicionales, expresiones aritméticas, etc) pueden ser representadas usando árboles ordenados con raiz. Figura: Ejemplo de una expresión aritmética Ejemplo1: el árbol anterior representa la expresión aritmética ((x + y) (x 5)) ((x 6)/10)

Contenido Recorrido en árboles Definición Recorrido en Preorden Recorrido en Inorden Recorrido en Postorden Expresión infija Expresión prefija Expresión postfija

Expresión infija Nota: Para que las expresiones obtenidas en el recorrido inorden no sean ambiguas, es necesario incluir paréntesis siempre que se encuentre una operación. La expresión completa, incluyendo los parentesis, obtenida de este modo se llama expresión infija o forma infija de la expresión. Ejemplo: Indicar la forma prefija de: ((x + 5)/8) ((y + 5) ((x/5) (y + 2))

Contenido Recorrido en árboles Definición Recorrido en Preorden Recorrido en Inorden Recorrido en Postorden Expresión infija Expresión prefija Expresión postfija

Expresión prefija La forma prefija de una expresión se obtiene al escribir la expresión recorriendo el árbol en preorden. Las expresiones en forma prefija se dicen que están escritas en notación polaca. Nota: Una expresión en notación prefija no es ambigua Evaluación de expresiones prefijas Las expresiones prefijas son evaluadas de derecha a izquierda. Cuando se encuentra un operador, se ha de realizar el calculo correspondiente con los dos operandos que se encuentran inmediatamente a la derecha del operador. El resultado se considera como un nuevo operando.

Expresión prefija (2) Ejemplo: Determinar el valor de las siguientes expresiones prefijas 1. + - * 2 3 5 / 2 3 4 R//: 3 2. * + 3 + 3 3 + 3 3 3 R//: 2205 3. + - 3 2 2 3 / 6-4 2 R//: 4

Contenido Recorrido en árboles Definición Recorrido en Preorden Recorrido en Inorden Recorrido en Postorden Expresión infija Expresión prefija Expresión postfija

Expresión postfija La forma prefija de una expresión se obtiene al escribir la expresión recorriendo el árbol en postorden. Las expresiones en forma postija se dicen que están escritas en notación polaca inversa. Nota: Una expresión en notación postfija no es ambigua Evaluación de expresiones postijas Las expresiones prefijas son evaluadas de izquierda a derecha. Cuando se encuentra un operador a la derecha de un par de operandos, se ha de realizar el calculo correspondiente. El resultado se considera como un nuevo operando.

Expresión postfija (2) Ejemplo: Determinar el valor de las siguientes expresiones postfijas 1. 7 2 3 * - 4 9 3 / + R//: 4 2. 9 3 / 5 + 7 2 - * R//: 40 3. 3 2 * 2 5 3-8 4 / * - R//: 32