Árboles.

Slides:



Advertisements
Presentaciones similares
ÍNDICES.
Advertisements

5. Estructuras no lineales estáticas y dinámicas
ESTRUCTURA DE DATOS Unidad 04 TDA no lineales - Árboles.
IBD Clase 7.
ESTRUCTURA DE DATOS Unidad 04 Árboles BINARIOS.
ESTRUCTURA DE DATOS Unidad 04 Árboles BINARIOS DE BUSQUEDA.
Á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
Estructura de Datos en memoria secundaria
Tema 4 Árboles. Conceptos Generales..
ESTRUCTURAS DE DATOS AVANZADAS
Cont. Arbol Binario de Búsqueda
Árboles balanceados AVL
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.
Almacenamiento y Recuperacion de Información TAD_ABB Ana Lilia Laureano Cruces Universidad Autónoma Metroplotiana.
Tema Nº4.
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
PILAS, COLAS, RECURSIVIDAD.
ARBOLES ESTRUCTURAS DE DATOS.
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.
Definición, propiedades, recorridos x a q yb w e vu fo.
Trabajo de investigación (TEMA #7): TEORÍA DE GRAFOS
ÁRBOLES BINARIOS DE BÚSQUEDA BALANCEADOS

Árboles Recomendado: 1. Nivelación Funciones
MATEMATICAS DISCRETAS II
Árboles Binarios Estructuras de Datos.
Árboles de Búsqueda Binaria
Con el objeto de mejorar el rendimiento en la búsqueda surgen los árboles balanceados. La idea central de estos es la de realizar reacomodó o balanceos.
Estructura de Datos M.C. José Andrés Vázquez Flores FCC/BUAP
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.
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
Capítulo 8: Árboles Autor: José Alfredo Jiménez Murillo.
Á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.
M.C. Meliza Contreras González
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
Árboles Binarios Estructuras de Datos.
Transcripción de la presentación:

Árboles

Arbol General

Terminología Nodo Arista Nodo raíz Nodos hojas Camino Longitud de camino Padre de un nodo

Hijo de un nodo Antecesores Descendientes Subárbol Hermanos Nivel o profundidad Altura Grado de Nodo Grado del árbol

ARBOL BINARIO El árbol binario tiene las siguientes características distintivas: Cada nodo puede tener como máximo 2 subárboles Cada subárbol se identifica como el subárbol izquierdo o el subárbol derecho de su padre Puede ser vacío

Especificación TD árbol binario Elementos: Los elementos de un árbol binario son nodos con elementos estándar los cuales poseen un campo clave Estructura: Tiene estructura jerárquica

Operaciones recorrer(ord) PRE: El árbol es no vacío POST: Cada nodo en el árbol ha sido procesado exactamente una vez. El orden en que los nodos fueron procesados depende del valor de ord, así: Caso de ord: preorden: raíz – subárbol izq – subárbol dcho inorden: subárbol izq – raíz – subárbol dcho postorden: subárbol izq – subárbol dcho - raíz

insertar(e, rel) PRE: puede darse rel=raiz y el árbol es vacío o rel  raiz y el árbol es no vacío. POST: dependiendo del valor de rel, e pudo haber sido añadido. Si e fue añadido, el nodo que contiene a e es el actual. Caso de rel: raíz: e es el elemento en la raíz del árbol. hijoizq: si c-pre no tenía hijo izquierdo entonces tiene un hijo izquierdo que contiene a e, de otro modo la función da error. hijoder: si c-pre no tenía hijo derecho entonces tiene un hijo derecho que contiene a e, de otro modo la función da error.

borrarsub() PRE: el árbol es no vacío. POST: el subárbol de T-pre cuya raíz es c-pre ha sido removido del árbol. El nodo raíz es el actual (o nulo si c-pre era la raíz del árbol) actualizar(e) POST: el elemento del nodo actual tiene el valor de e.

e = leer() PRE: el árbol es no vacío. POST: e tiene el valor del elemento del nodo actual. st = características() POST: st contiene el tamaño (número de nodos del árbol), la altura y la longitud promedio de un camino desde la raíz hasta un nodo hoja del árbol.

ir_a(rel) PRE: el árbol es no vacío. POST: el nodo actual está determinado por el valor de rel como se indica a continuación. caso de rel: raiz: El nodo raíz es el actual. padre: si c-pre tenía un nodo padre, este es el actual. De otro modo da error. hijoizq: si c-pre tenía un hijo izquierdo, este es el actual. De otro modo da error. hijoder: si c-pre tenía un hijo derecho, este es el actual. De otro modo da error.

r = vacio() PRE: ninguna. POST: si T-pre es vacío, el valor de r es VERDADERO, de otro modo el valor de r es FALSO. crear() PRE: no existe árbol. POST: existe un árbol vacío. destruir() PRE: el árbol es no vacío. POST: el árbol es vacío

ÁRBOL BINARIO DE BÚSQUEDA Un árbol binario de búsqueda es un tipo especial de árbol binario en el cual la posición de cada nodo en el árbol está determinada por el valor de alguno de los campos del elemento guardado en el nodo (generalmente el campo clave) a este campo del elemento del nodo se le llamará campo de clasificación.

Un árbol binario de búsqueda es un árbol binario tal que para cada nodo N, las siguientes afirmaciones son verdaderas: - Si L es algún nodo en el subárbol izquierdo de N, entonces el campo de clasificación de L es menor que el campo de clasificación de N. - Si R es algún nodo en el subárbol derecho de N, entonces el campo de clasificación de R es mayor que el campo de clasificación de N.

Especificación Muchas de las operaciones del árbol binario son exactamente iguales en el árbol binario de búsqueda. actualizar e insertar deben ser modificadas para conservar la estructura del árbol de búsqueda, además se añaden dos funciones nuevas: encontrar_clave y borrar_clave que toman ventaja de las características del árbol de búsqueda.