Slides:



Advertisements
Presentaciones similares
5. Estructuras no lineales estáticas y dinámicas
Advertisements

ESTRUCTURA DE DATOS Unidad 04 TDA no lineales - Árboles.
IBD Clase 7.
ESTRUCTURA DE DATOS Unidad 04 Árboles BINARIOS.
Árboles Grafo que no contiene ciclos, es decir es un grafo también acíclico, pero a su vez es conexo.
ÁRBOLES EN C UNIVERSIDAD “ALONSO DE OJEDA” Facultad de Ingeniería
Programación y Estructuras de Datos
ÁRBOLES BINARIOS DE BUSQUEDA
Operaciones sobre un árbol
Árboles binarios. Algoritmos básicos
Tema 4 Árboles. Conceptos Generales..
ESTRUCTURAS DE DATOS AVANZADAS
Cont. Arbol Binario de Búsqueda
Integrantes: Esteban Jiménez Guesseppe Lozada Mario Rodriguez Gustavo Tenorio Fabio.
ÁRBOLES DE EXPRESION.
Definiciones: conjuntos, grafos, y árboles
Definición Estructura de datos jerárquica (no lineal) que puede representarse como un conjunto de nodos enlazados entre sí por medio de ramas. Formalmente,
Arboles (Trees) Arboles Arboles binarios Recorridos de árboles
Cont. Arbol Binario de Búsqueda (2). Sobre los recorridos Las versiones recursivas de los recorridos son costosas debido a la gran cantidad de llamadas.
Diplomado en Informática Aplicada
Almacenamiento y Recuperacion de Información TAD_ABB Ana Lilia Laureano Cruces Universidad Autónoma Metroplotiana.
Tema Nº4.
Estructura de Datos Lineales
Material de apoyo Unidad 4 Estructura de datos
Árboles.
ÁRBOLES BINARIOS DE BÚSQUEDA
Estructuras de Datos MC Beatriz Beltrán Martínez.
Definiciones: conjuntos, grafos, y árboles
Ordenamiento, Heapsort y Colas de prioridad
Estructura de Datos En C++
PILAS, COLAS, RECURSIVIDAD.
ARBOLES ESTRUCTURAS DE DATOS.
Estructura de Datos y Algoritmos
Árboles binarios de búsqueda
Arboles M.C. José Andrés Vázquez FCC/BUAP
ARBOLES ESTRUCTURAS DE DATOS.
Definición, propiedades, recorridos x a q yb w e vu fo.

Árboles.
Árboles Recomendado: 1. Nivelación Funciones
Árboles1UVM Árboles. 2UVM Árboles3UVM 6.1 Objetivos El estudiante manejará el tad Arbol, sobre memoria dinámica.
MATEMATICAS DISCRETAS II
Árboles Binarios Estructuras de Datos.
Árboles de Búsqueda Binaria
Parte II. Algorítmica. 5. Backtracking. 1. Análisis de algoritmos.
Matemáticas Discretas
ÁRBOLES Curso de Introducción a la Computación. Árboles binarios Un árbol binario es un conjunto de elementos que o está vacío o está dividido en tres.
Sesión 3: Teoría de Grafos
Unidad 6: Árboles.
Definiciones: conjuntos, grafos, y árboles
1 Árboles de Búsqueda Binaria Agustín J. González ELO-320: Estructura de Datos y Algoritmos.
Punteros, referencias Listas enlazadas Arboles
Arboles M.C. José Andrés Vázquez FCC/BUAP
Algoritmos y estructura de datos en I.O.
ARBOLES GENERALIZADOS
Árboles Binarios de Búsqueda (ABB)
Arboles Binarios.
A YUDANTÍA 5: A RBOLES Carlos Pulgar R. Mail: Página Ayudantía:
Árboles Binarios * Recorridos * Tipo
Árboles Equilibrados Estructuras de Datos MC Beatriz Beltrán Martínez Primavera 2015.

Matemáticas Discretas MISTI
Algoritmos y estructura de datos en I.O. Arboles Generales.
ESTRUCTURA DE DATOS II Ing. Freddy Melgar Algarañaz Árboles Binarios *Recorridos *Tipo.
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO LICENCIATURA EN INGENIERÍA DE SOFTWARE UNIDAD DE APRENDIZAJE: ESTRUCTURAS DE DATOS Créditos institucionales.
Tema 3 Árboles. Conceptos Generales. Curso 2014/2015 ETSISI UPM.
TAD’s ARBOLES GENERALIZADOS
Estructuras de Datos MC Beatriz Beltrán Martínez Primavera 2016
Arboles M.C. José Andrés Vázquez FCC/BUAP
Transcripción de la presentación:

Estructuras de Datos MC Beatriz Beltrán Martínez Primavera 2015 Árboles Estructuras de Datos MC Beatriz Beltrán Martínez Primavera 2015

Introducción Aparecen estructuras de tipo árbol en: Sistemas Operativos: Sistema de ficheros (Árbol de directorios). Compiladores, procesadores de textos, algoritmos de búsqueda. Elementos: Nodos. Conexiones (dirigidas) entre pares de nodos. Un nodo particular: Raíz. Cada nodo (excepto raíz) está conectado al menos con otro (padre). Relación padre-hijo. FCC-BUAP Primavera 2015 MC Beatriz Beltrán Martínez

Conceptos Un único camino conduce de la raíz a cada nodo. Longitud del camino: Número de conexiones a atravesar. Nodos sin hijos: Hojas (leaves). Árbol con N nodos ó N-1 conexiones entre nodos. Profundidad de un nodo: Longitud del camino raíz ð nodo. Altura de un nodo: Longitud del camino desde el nodo a su hoja más profunda. Hermanos: Nodos con el mismo padre (siblings). FCC-BUAP Primavera 2015 MC Beatriz Beltrán Martínez

Conceptos El grado de un nodo es el número de flechas que salen de ese nodo. El grado de un árbol es el mayor de los grados que puede hallarse en el árbol. Un camino de un nodo n1 a otro nk, se define como la secuencia de nodos n1, n2, ... nk tal que ni es padre de ni+1 para 1  i < k. Longitud del camino entre 2 nodos, es el número de arcos que hay entre ellos. FCC-BUAP Primavera 2015 MC Beatriz Beltrán Martínez

Conceptos Relación antepasado (u) / descendiente (v): Si hay camino de u a v. Tamaño de un nodo: Número de descendientes (incluyendo al nodo). Árbol (definición recursiva): o es vacío, o consiste en una raíz y cero o más (sub)árboles no vacíos A1..Ak conectados a la raíz. FCC-BUAP Primavera 2015 MC Beatriz Beltrán Martínez

Implementación 1. Cada nodo contiene: Referencias a todos sus hijos. Datos almacenados en el nodo. Problema: Número de hijos desconocido. 2. Cada nodo: Lista con sus hijos. Referencia a los datos contenidos. Referencia a su nodo hermano. Representación "first child / next sibling“. FCC-BUAP Primavera 2015 MC Beatriz Beltrán Martínez

Implementación nodoRaiz sigHermano primerHijo null FCC-BUAP Primavera 2015 sigHermano primerHijo null nodoRaiz MC Beatriz Beltrán Martínez

Árbol N-ario Ningún nodo puede tener más de N hijos. El más utilizado: Binario, 2 hijos (left, right). Definición recursiva (Árbol binario): ... o es vacío. ... o tiene raíz, árbol derecho, árbol izquierdo. Implementación: Conocido el número de hijos. 2 referencias. FCC-BUAP Primavera 2015 MC Beatriz Beltrán Martínez

Árboles Binarios Árbol binario lleno (full binary tree). Todas las hojas tiene la misma profundidad. El resto de nodos (no terminales) tienen 2 hijos. Árbol binario completo (complete binary tree). Cada nivel (excepto el más profundo) debe contener todos sus posibles nodos. En el nivel más profundo, los nodos están lo más a la izquierda que sea posible. FCC-BUAP Primavera 2015 MC Beatriz Beltrán Martínez

Expresiones Un nodo terminal representa un operando. El resto de los nodos representan operadores (binarios). FCC-BUAP Primavera 2015 6 + ((7 - 3) * 5) Evaluación de la expresión: Evaluación de los subárboles (recursivamente). Aplicación del operador a los valores obtenidos. + 6 * 5 - 3 7 MC Beatriz Beltrán Martínez

Recursividad El tipo árbol se define recursivamente. Muchas rutinas para manejo de árboles se implementan fácilmente de forma recursiva. public class NodoBinario { Object dato; NodoBinario left; NodoBinario right; public NodoBinario (Object elemento) dato = elemento; left = null; right = null; } // Métodos... FCC-BUAP Primavera 2015 dato right left MC Beatriz Beltrán Martínez

Recorridos Recorrido: Acceso a todos los nodos de un árbol Ej: Para realizar una operación en cada nodo Fácil implementación mediante recursividad. Tipos de recorrido: Según el orden en que se "visitan" los nodos. Recorrido preorder. Recorridos postorder. Recorridos inorder. FCC-BUAP Primavera 2015 MC Beatriz Beltrán Martínez

Recorridos Recorrido preorden: Nodo raíz Subárbol left en preorden Subárbol right en preorden FCC-BUAP Primavera 2015 1 Preorden 2 3 6 4 5 7 // en la clase NodoBinario public void mostrarPreorden() { System.out.println(dato); if (left != null) left.mostrarPreorden(); if (right != null) right.mostrarPreorden(); } MC Beatriz Beltrán Martínez

Recorridos Recorrido inorden: Subárbol left en inorden Nodo raíz Subárbol right en inorden FCC-BUAP Primavera 2015 2 Inorden 1 5 7 3 4 6 // en la clase NodoBinario public void mostrarInorden() { if (left != null) left.mostrarInorden(); System.out.println(dato); if (right != null) right.mostrarInorden(); } MC Beatriz Beltrán Martínez

Recorridos Recorrido postorden: Subárbol left en postorden Subárbol right en postorden Nodo raíz FCC-BUAP Primavera 2015 7 Postorden 1 6 5 3 2 4 // en la clase NodoBinario public void mostrarPostorden() { if (left != null) left.mostrarPostorden(); if (right != null) right.mostrarPostorden(); System.out.println(dato); } MC Beatriz Beltrán Martínez