Estructuras de Datos y Algoritmos

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

TEORÍA DE GRAFOS Ingeniería de Sistemas

Notas de Clase. Prof. Juan Andrés Colmenares, M.Sc. Instituto de Cálculo Aplicado Facultad de Ingeniería Universidad del Zulia. 21 de febrero de 2004

DEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006

Es un conjunto de objetos llamados vértices o nodos unidos por enlaces llamados aristas o arcos, que permiten representar relaciones binarias entre

NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS

Capítulo 6. ÁRBOLES.

Estructuras de datos: Árboles binarios de

Árboles. Cursos Propedéuticos Dr. René Cumplido M. en C. Luis Rodríguez Flores

Tema 10- Representación Jerárquica: Tema 10- Representación Jerárquica: Árboles Binarios

árbol como un conjunto de nodos y líneas

(d) Puede haber estrategias que funcionan mejor que Minimax si el contrincante es

JUEGOS. Área de aplicación de los algoritmos heurísticos Juegos bi-personales: oponente hostil

Estructuras de datos. Estructuras de datos

Un grafo G = (V, E) se dice finito si V es un conjunto finito.

(e) Con la poda alfa-beta se eliminan nodos que nunca serán alcanzados

Ampliación de Estructuras de Datos

GRAMATICAS LIBRES DEL CONTEXTO

Teoría de grafos y optimización en redes

UNIDAD 9. DATOS COMPLEJOS PILAS

El Juego como Problema de Búsqueda

Tema: Los Grafos y su importancia para la optimización de redes.

Representación de números enteros: el convenio exceso Z

Teoría de Autómatas y Lenguajes Formales. Introducción a las Gramáticas. Gramáticas incontextuales

ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES

PRÁCTICA No. 13 ÁRBOL BINARIO DE BÚSQUEDA

Introducción a la Teoría de Grafos

Aprendizaje Automatizado

Caminos y Flujos optimales. Introducción a la Investigación de Operaciones 2007

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad

BASES DE DATOS TEMA 2 MODELOS DE DATOS

El TAD Grafo. El TAD Grafo

Tecnólogo Informático- Estructuras de Datos y Algoritmos- 2009

BLOQUE 1. LOS NÚMEROS

Sobre funciones reales de variable real. Composición de funciones. Función inversa

Clase 32: Árbol balanceado AVL

GRAFOS. Prof. Ing. M.Sc. Fulbia Torres

Teoría de Autómatas y Lenguajes Formales

Árbol binario. Elaborado por Ricardo Cárdenas cruz Jeremías Martínez Guadarrama Que es un árbol Introducción

Compresión de Datos. Método de Huffman. Dpto. Informática

Arboles Binarios de Búsqueda

Si se pueden obtener las imágenes de x por simple sustitución.

ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES

SESIÓN N 07 III UNIDAD RELACIONES Y FUNCIONES

A B MIN C D E F MAX x E.T.S.I. INFORMÁTICA 4º CURSO. INTELIGENCIA ARTIFICIAL E INGENIERÍA DEL CONOCIMIENTO

Sistemas Operativos Practica 1: procesos y concurrencia.

Algoritmos sobre Grafos

Árboles AVL. Laboratorio de Programación II

EJERCICIOS DE ÁRBOLES BINARIOS


Ejemplos de TAD (tipos simples)

Árboles Binarios Ordenados Árboles AVL

Autómatas Deterministas. Ivan Olmos Pineda

Búsqueda con adversario

Capítulo 6. Relaciones. Continuar

Semana05[1/14] Relaciones. 28 de marzo de Relaciones

TIPO DE DATO ABSTRACTO (TDA)

Estructuras de Datos. Estructuras de Datos para Conjuntos Disjuntos

Capítulo 3 El Método de los Elementos de Contorno y la Formulación Hipersingular.

UNIDAD II: TEORÍA DE CONJUNTOS 2.1. INTRODUCCIÓN

ALGORITMO ID3. Objetivo

Teoría de Redes o Grafos

Profesorado de Informática Ciencias de la Computación INET- DFPD Matemática I - Matemática Discreta usando el computador Ing. Prof.

UNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS

Árboles balanceados. Alonso Ramírez Manzanares Computación y Algoritmos Thursday, April 30, 15

NOCIONES PRELIMINARES (*) 1

Inteligencia Artificial. Integrantes Equipo # 1:

FUNCIONES REALES DE VARIABLE REAL.

Investigación Operativa

Inteligencia Artificial

SEMINARIO DE ESPECIFICACIONES ALGEBRAICAS

Procesadores de Lenguaje

Minería de Datos. Árboles de Decisión. Fac. Ciencias Ing. Informática Otoño de Dept. Matesco, Universidad de Cantabria

FUNDAMENTOS DE PROGRAMACIÓN

Ejemplo: El problema de la mochila. Algoritmos golosos. Algoritmos y Estructuras de Datos III. Segundo cuatrimestre 2013

: Algorítmica y Estructura de Datos I

Problemas en P y NP. Marcos Kiwi. Semestre Otoño U. Chile

Capítulo 12: Indexación y asociación

MATEMATICA PARA INFORMATICA III

Análisis amortizado El plan:

Las únicas funciones cuyas gráficas son rectas son las siguientes:

Soluciones a algunos ejercicios de Matemática Discreta 1.

Registro (record): es la unidad básica de acceso y manipulación de la base de datos.

1. Conceptos básicos sobre el problema en cuestión y cuestiones afines. 2. Formulación de los correspondientes algoritmos y su pseudocódigo.

Un grafo G es un par (V,E) donde V es un conjunto (llamado conjunto de vértices) y E un subconjunto de VxV (conjunto de aristas).

Para definir en formalmente el juego se deberá establecer:

PRECALCULO. Nomenclatura del Curso : MAT-001. Nombre del Curso : Precalculo. Prerrequisitos : Ninguno. Número de Créditos : 5. Horas Teóricas : 45

Métodos de Búsqueda para juegos humano-maquina. PROF: Lic. Ana María Huayna D.

ELO320 Estructuras de Datos y Algoritmos. Arboles Binarios. Tomás Arredondo Vidal

Estructuras de Datos. Montículos. Montículos. Montículos. Tema 3. Montículos. Definiciones básicas: Definiciones básicas:

Matemáticas Discretas TC1003

3. ESTRUCTURAS DE DATOS NO LINEALES

RUTA DEL INTERIOR. CAMINO PRIMITIVO CONCEJO DE GRANDAS DE SALIME CARTOGRAFÍA ESTADO Y CARACTERISTICAS ELEMENTOS ASOCIADOS

Fundamentos de POV-Ray. Computación Geométrica 2010/2011 Jorge Calvo Zaragoza

Ing. Manuel Ramírez López ITESCA

Transcripción:

Estructuras de Datos y Algoritmos Tema 5.1. Árboles. Árboles binarios y generales Prof. Dr. P. Javier Herrera

Contenido 1. Introducción 2. Terminología 3. Árboles binarios 4. Árboles generales Tema 5.1. Árboles 2

1. Introducción Árboles: Estructuras no lineales Idea formal: Un árbol es un grafo no orientado, conexo y acíclico con un vértice destacado llamado raíz. Idea intuitiva: Los árboles expresan relaciones jerárquicas en las que: Cada elemento (excepto el primero) tiene un único superior inmediato Cada elemento tiene varios siguientes inmediatos La estructuras arbóreas son una generalización de las estructuras lineales vistas en capítulos anteriores: Listas: cada elemento tiene un único sucesor. Árboles: los elementos pueden tener mas de un sucesor. Tema 5.1. Árboles 3

1. Introducción Permiten representar la noción de jerarquía. Ejemplos: Árboles genealógicos: familiares, lingüísticos Árboles sintácticos Estructura de los directorios Tema 5.1. Árboles 4

1.1 Aplicaciones Representación de estructuras anidadas: Representación de expresiones: Tema 5.1. Árboles 5

2. Terminología La terminología de las estructuras arbóreas se basa a veces en terminología genealógica ( padre, hijo, primogénito, hermano ), o en terminología botánica ( raíz, hojas, ramas, etc.). Hoja: Árbol con un solo elemento. Camino: Secuencia A 1,..., A s de árboles tal que, para todo i {1..s 1}, A i+1 es subárbol de A i. Se denomina longitud del camino a s 1. Consideraremos que existe un camino de longitud 0 de todo subárbol a sí mismo. Tema 5.1. Árboles 6

2. Terminología Ascendiente/Descendiente: Diremos que el subárbol A 1 es ascendiente del subárbol A 2 (y que A 2 es descendiente de A 1 ), si existe un camino A 1,..., A 2. Padre: Se denomina así al primer ascendiente directo, si existe, de un subárbol. Es único y sólo la raíz no tiene padre. Hijos: Son los primeros descendientes directos de un árbol. Hermanos: Subárboles con el mismo padre. Tema 5.1. Árboles 7

2. Terminología Altura de un árbol: Longitud más uno del camino que va desde el árbol original hasta la hoja más lejana. La altura de una hoja es 1. Profundidad de un subárbol: Longitud del (único) camino desde el árbol original a dicho subárbol. Nivel: Conjunto de subárboles situados a la misma profundidad. Grado de un árbol: Es el número máximo de hijos que pueden tener sus subárboles. Tema 5.1. Árboles 8

3. Árboles binarios Un árbol binario es un conjunto de elementos del mismo tipo tal que: O bien es el conjunto vacío, en cuyo caso se denomina árbol vacío. O bien no es vacío, en cuyo caso existe un elemento distinguido llamado raíz, y el resto de los elementos se distribuyen en dos subconjuntos disjuntos, cada uno de los cuales es un árbol binario, llamados respectivamente subárbol izquierdo y subárbol derecho. Todo nodo tiene siempre dos hijos, aunque uno de ellos o ambos pueden ser vacíos. Los dos hijos se distinguen entre si y se conocen como hijo izquierdo e hijo derecho. Tema 5.1. Árboles 9

3.1 Operaciones básicas El TAD de los árboles binarios cuenta con las siguientes operaciones: crear el árbol vacío, construir un árbol a partir de un elemento y dos árboles, consultar la raíz, calcular el hijo izquierdo, calcular el hijo derecho, y determinar si un árbol es vacío. Tema 5.1. Árboles 10

3.2 Recorridos de árboles binarios Recorrer un árbol consiste en visitar exactamente una vez todos los elementos del árbol en cierto orden y haciendo algo con ellos. Dos tipos: Basados en la relación padre hijo: recorridos en profundidad Basados en la distancia del nodo a la raíz: recorrido por niveles Tema 5.1. Árboles 11

3.2.1 Recorridos en profundidad PREORDEN (raíz, izquierdo, derecho) Para recorrer un árbol binario no vacío en preorden, hay que realizar las siguientes operaciones recursivamente en cada nodo, comenzando con el nodo de raíz: 1. Visite la raíz 2. Atraviese el subárbol izquierdo 3. Atraviese el subárbol derecho Ejemplo: 1 2 4 5 3 6 7 Tema 5.1. Árboles 12

3.2.1 Recorridos en profundidad INORDEN (izquierdo, raíz, derecho) Para recorrer un árbol binario no vacío en inorden (simétrico), hay que realizar las siguientes operaciones recursivamente en cada nodo: 1. Atraviese el subárbol izquierdo 2. Visite la raíz 3. Atraviese el subárbol derecho Ejemplo: 4 2 5 1 6 3 7 Tema 5.1. Árboles 13

3.2.1 Recorridos en profundidad POSTORDEN (izquierdo, derecho, raíz) Para recorrer un árbol binario no vacío en postorden, hay que realizar las siguientes operaciones recursivamente en cada nodo: 1. Atraviese el subárbol izquierdo 2. Atraviese el subárbol derecho 3. Visite la raíz Ejemplo: 4 5 2 6 7 3 1 Tema 5.1. Árboles 14

3.2.2 Recorridos por niveles Los árboles también pueden recorrerse por niveles (de nivel en nivel), donde visitamos cada nodo en un nivel antes de ir a un nivel inferior. Ejemplo: 1 2 3 4 5 6 7 Tema 5.1. Árboles 15

4. Árboles generales El número de hijos de cada nodo es variable, desde cero en el caso de una hoja hasta cierto número máximo que se llama grado del árbol. Cuando el grado es n, también se dice que el árbol es n ario, pero esto no significa que todos los nodos tienen exactamente n hijos, sino que n es el número máximo de hijos. Ejemplo: Árbol 3 ario Tema 5.1. Árboles 16

4. Árboles generales Los árboles binarios no son el caso particular de árboles n arios con n = 2. Un árbol binario puede ser vacío mientras que un árbol general nunca es vacío. Cuando un nodo en un árbol general tiene un único hijo, no se puede decir si es el izquierdo o el derecho porque esto no tiene sentido; en cambio, cuando un nodo en un árbol binario tiene un único hijo porque el otro es vacío, se puede distinguir si el hijo no vacío es el izquierdo o el derecho. Todo árbol general se puede representar mediante un árbol binario. Los árboles binarios adquieren especial importancia cuando tienen propiedades relacionadas con un orden sobre los elementos, como veremos en temas siguientes. Tema 5.1. Árboles 17

4.1 Operaciones básicas El TAD de los árboles generales cuenta con al menos las siguientes operaciones: construir un árbol a partir de un elemento y una sucesión de árboles del mismo tipo, construir sucesiones de árboles generales, incluyendo la sucesión vacía, consultar la raíz, calcular la sucesión de hijos, calcular el número de hijos, calcular el hijo i ésimo, y determinar si un árbol es una hoja. Tema 5.1. Árboles 18

Bibliografía Martí, N., Ortega, Y., Verdejo, J.A. Estructuras de datos y métodos algorítmicos. Ejercicios resueltos. Pearson/Prentice Hall, 2003. Capítulo 6 Peña, R.; Diseño de programas. Formalismo y abstracción. Tercera edición. Prentice Hall, 2005. Capítulo 7 (Estas transparencias se han realizado a partir de aquéllas desarrolladas por los profesores Clara Segura, Alberto Verdejo y Yolanda García de la UCM, y la bibliografía anterior) Tema 5.1. Árboles 19