Á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.

Slides:



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

ESTRUCTURA DE DATOS Unidad 04 TDA no lineales - Árboles.
Compiladores e intérpretes Generación de código intermedio II
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
1 Extensión de un Estructura de Datos Agustín J. González ELO-320: Estructura de Datos y Algoritmos.
Programación y Estructuras de Datos
ÁRBOLES BINARIOS DE BUSQUEDA
Operaciones sobre un árbol
Tema 4 Árboles. Conceptos Generales..
ESTRUCTURAS DE DATOS AVANZADAS
Cont. Arbol Binario de Búsqueda
ÁRBOLES DE EXPRESION.
Definiciones: conjuntos, grafos, y árboles
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.
Arboles Binarios de expresiones
Teoría de Grafos.
Ana Lilia Laureano Cruces UAM-A
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
Árboles, montículos y grafos Cola de prioridades, montículos
Ordenamiento, Heapsort y Colas de prioridad
Estructura de Datos En C++
Heaps Mauro Maldonado Abril/2005. Introducción La estructura heap es frecuentemente usada para implementar colas de prioridad. En este tipo de colas,
Estructura de Datos y Algoritmos
Diseño y análisis de algoritmos
Arboles M.C. José Andrés Vázquez FCC/BUAP
ARBOLES ESTRUCTURAS DE DATOS.
Á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
COLAS Curso de Introducción a la Computación. Colas La cola es una colección ordenada de elementos de la que se pueden borrar elementos en un extremo.
Árboles Binarios Estructuras de Datos.
Árboles de Búsqueda Binaria
Otros tipos de listas Curso de Introducción a la Computación.
Sesión 3: Teoría de Grafos
Definiciones: conjuntos, grafos, y árboles
LISTA ENCADENADAS. DEFINICIÓN Las listas están formadas por una serie de nodos; cada nodo tienen un campo de información y un apuntador (puntero) al siguiente.
1 Árboles de Búsqueda Binaria Agustín J. González ELO-320: Estructura de Datos y Algoritmos.
Punteros, referencias Listas enlazadas Arboles
Algoritmos y estructura de datos en I.O.
ARBOLES GENERALIZADOS
 Introducción  Conceptos El equipo demostrara y mostrara los conceptos, definición y funcionamiento de una las “listas doblemente enlazadas y circulares”
Árboles Binarios de Búsqueda (ABB)
R ECORRIDO DE ÁRBOLES BINARIOS POR AMPLITUD O POR NIVELES Elaborado por: Luis Alberto Fonseca Esquivel Eduardo Acosta Casillas.
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.

Se considera la expresión (a-b)*(c+(d/e)) su árbol es:
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.
Algoritmos voraces Códigos de Huffman. Descripción del problema Tenemos un archivo de entrada. Asumiremos que el archivo está compuesto de bytes (enteros.
UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO LICENCIATURA EN INGENIERÍA DE SOFTWARE UNIDAD DE APRENDIZAJE: ESTRUCTURAS DE DATOS Créditos institucionales.
TAD’s ARBOLES GENERALIZADOS
Estructuras de Datos MC Beatriz Beltrán Martínez Primavera 2016
Transcripción de la presentación:

Á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 subconjuntos desarticulados. El primer subconjunto tiene un solo elemento llamado raíz del árbol. Los otros son en si mismos árboles binarios, llamados subárboles izquierdo y derecho del árbol original. Raiz Subárbol izquierdo Subárbol derecho

Representación y operaciones Supondremos al árbol consistente en nodos con tres campos: info, left y right. El campo info contiene la información útil, left es un apuntador a subárbol izquierdo y right es un apuntador al subárbol derecho. Las operaciones básicas con árboles son: maketree, setleft y setright. La función maketree(x) construye un árbol binario que consiste de un solo nodo con campo de información x y regresa el apuntador a dicho árbol.

Algoritmo para construir un árbol binario FUNCION MAKETREE(X: INFOTYPE) REGRESA NODOPTR 1. P  GETNODE 2. INFO(P)  X 3. LEFT(P)  NIL 4. RIGHT(P)  NIL 5 REGRESA P

Rutinas SetLeft y SetRight SUBRUTINA SETLEFT( P:NODEPTR, X:INFOTYPE) 1. SI LEFT(P) <> NIL ENTONCES a. ERROR "YA EXISTE EL SUBARBOL IZQUIERDO" 2. LEFT(P)  MAKETREE(X) SUBRUTINA SETRIGHT(P: NODEPTR, X:INFOTYPE) 1. SI RIGHT(P) <> NIL ENTONCES a. ERROR "YA EXISTE EL SUBARBOL DERECHO" 2. RIGHT(P)  MAKETREE(X)

Algoritmo para construir un árbol binario ordenado. SUBRUTINA PLACE(P:NODEPTR,X:INFOTYPE) 1. SI P=NIL ENTONCES a. P  MAKETREE(X) 2. SINO a. SI X<INFO(P) ENTONCES 1. PLACE(LEFT(P),X) b. SI X>INFO(P) ENTONCES 1. PLACE(RIGHT(P),X) c. SI X=INFO(P) ENTONCES 1. WRITE "ELEMENTO REPETIDO"

Recorrido de árboles Otra operación común es recorrer un árbol binario: esto es, pasar a través del árbol, enumerando cada uno de los nodos una vez. A esto se le llama visitar cada nodo. Existen al menos tres formas de recorrer un árbol: En preorden En entreorden En posorden

Recorrido en preorden 1. Visitar primero la raíz. 2. Visitar el subarbol izquierdo en preorden. 3. Visitar el subarbol derecho en preorden. Algoritmo : SUBRUTINA PRETRAV(TREE:NODEPTR) 1. SI TREE<>NIL ENTONCES a. ESCRIBE INFO(TREE) b. PRETRAV(LEFT(TREE)) c. PRETRAV(RIGHT(TREE))

Recorrido en entreorden 1. Visitar el subarbol izquierdo en entreorden. 2. Visitar primero la raíz. 3. Visitar el subarbol derecho en entreorden. Algoritmo: SUBRUTINA INTRAV(TREE:NODEPTR) 1. SI TREE<>NIL ENTONCES a. INTRAV(LEFT(TREE)) b. ESCRIBE INFO(TREE) c. INTRAV(RIGHT(TREE))

Recorrido en posorden 1. Visitar el subarbol izquierdo en posorden. 2. Visitar el subarbol derecho en posorden. 3. Visitar primero la raíz. Algoritmo: SUBRUTINA POSTTRAV(TREE:NODEPTR) 1. SI TREE<>NIL ENTONCES a. POSTTRAV(LEFT(TREE)) b. POSTTRAV(RIGHT(TREE)) c. ESCRIBE INFO(TREE)

Algunas definiciones Árbol estrictamente binario – todos los nodos que no son hojas tienen subárbol izquierdo y derecho no vacíos. Profundidad – es el máximo nivel de cualquier hoja del árbol. Árbol binario completo – todos las hojas están en el último nivel. Árbol binario cuasi-completo – para un árbol de d niveles todos las hojas están en los niveles d o d–1 y para todo nodo nd con un descendiente derecho en el nivel d, todos los descendientes izquierdos de nd que sean hojas también estrán en el nivel d.

a bc d g e f a bc dgef hijk a bc dgef hi a bc dgef hih

Diversas representaciones de árboles g dh a c m lq Mediante paréntesis (g(d(a.(c..)).)(h.(m(l..)(q(n..).)))) n Mediante niveles a c d g h l m n q