Estructuras de Datos MC Beatriz Beltrán Martínez Primavera 2016

Slides:



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

ESTRUCTURA DE DATOS Unidad 04 TDA no lineales - Árboles.
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.
Programación y Estructuras de Datos
Tema 4 Árboles. Conceptos Generales..
Cont. Arbol Binario de Búsqueda
Definiciones: conjuntos, grafos, y árboles
Arboles (Trees) Arboles Arboles binarios Recorridos de árboles
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
Estructura de Datos En C++
ARBOLES ESTRUCTURAS DE DATOS.
Estructura de Datos y Algoritmos
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
Árboles Binarios Estructuras de Datos.
Definiciones: conjuntos, grafos, y árboles
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 Equilibrados Estructuras de Datos MC Beatriz Beltrán Martínez Primavera 2015.

Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
Proceso unificado de desarrollo
Programación lógica funcional Árboles Binarios.  El siguiente trabajo trata sobre la estructura de datos no lineales llamada árbol. Esta estructura se.
Árboles binarios. Algoritmos básicos
Universidad Autónoma del Estado de México
Tema 3 Árboles. Conceptos Generales. Curso 2014/2015 ETSISI UPM.
Montículos Binarios (Binary Heaps)
Árboles Binarios * Recorridos * Tipo
TAD’s ARBOLES GENERALIZADOS
Tema 4 Árboles Prof. Oscar Adolfo Vallejos.
LISTAS..
Estructuras de datos y algoritmos
Listas Dinámicas.
ÁRBOLES El árbol es una estructura de datos muy importante en informática y en ciencias de la computación. Los árboles son estructuras no lineales,
Árboles clase 6 Apoyo de Práctica. Resumen ●Árboles ○Concepto ○Características ○Dinámica ○Recorridos o barridos. ●Ejercicio Sugerido.
ÁRBOLES ESTRUCTURA DE DATOS II ING. CARLOS ALBERTO PULLAS.
Arboles M.C. José Andrés Vázquez FCC/BUAP
Estructuras de Datos MC Beatriz Beltrán Martínez Primavera 2018
Árboles (Trees) Árboles Árboles binarios Recorridos de árboles
Árboles Binarios de Búsqueda (ABB)
GRAFOS ESTRUCTURAS DE DATOS.
Arboles M.C. José Andrés Vázquez FCC/BUAP
TEMAS *Arboles Binarios *listas Abiertas y Cerradas - Inserción - Recorrido - Eliminación *Pilas - Concepto - Inserción - Recorrido -
Estructuras de Datos MC Beatriz Beltrán Martínez Primavera 2018
GRAFOS ESTRUCTURA DE DATOS. INTRODUCCION Los grafos son estructuras de datos Representan relaciones entre objetos Relaciones arbitrarias, es decir No.
Arboles. Árboles ¿Qué son? Son Estructuras de datos “No lineales”” ¿Para que se utilizan? Representar Fórmulas Algebraicas Organizar Objetos Inteligencia.
ÁRBOLES DE EXPRESION. Un árbol de expresión sirve para evaluar expresiones del tipo: (a+b)*c/d Para que un árbol represente una expresión se deben tomar.
Árboles Binarios Estructuras de Datos.
Árboles Binarios Recorridos.
CONTROLES Y ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN  1. Algoritmos: conjunto de instrucciones programadas para resolver una tarea específica.  2. Datos:
Árboles Binarios Estructuras de Datos. Las estructuras dinámicas son las en la ejecución varia el número de elementos y uso de memoria a lo largo del.
UNIDAD 1 Análisis semántico 1.1 ARBOLES DE EXPRESIONES.
Grafos. Concepto: Un Grafo no es más que un conjunto de nodos o vértices que se encuentran relacionados con unas aristas. Además, los vértices tienen.
Transcripción de la presentación:

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

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 2016 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 2016 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 2016 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 2016 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 2016 MC Beatriz Beltrán Martínez

Implementación nodoRaiz sigHermano primerHijo null FCC-BUAP Primavera 2016 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 2016 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 2016 MC Beatriz Beltrán Martínez

Expresiones Un nodo terminal representa un operando. El resto de los nodos representan operadores (binarios). FCC-BUAP Primavera 2016 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 2016 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 2016 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 2016 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 2016 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 2016 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