Tema 3 Árboles. Conceptos Generales. Curso 2014/2015 ETSISI UPM.

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 DE BUSQUEDA.
Árboles Grafo que no contiene ciclos, es decir es un grafo también acíclico, pero a su vez es conexo.
Utilización de un TAD Arbol.
Programación y Estructuras de Datos
Operaciones sobre un árbol
Árboles binarios. Algoritmos básicos
Tema 4 Árboles. Árbol sobre matriz.
Tema 4 Árboles. Conceptos Generales..
ESTRUCTURAS DE DATOS AVANZADAS
Cont. Arbol Binario de Búsqueda
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,
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.
Ana Lilia Laureano Cruces UAM-A
Tema 9 Estructuras.
Estructura de Datos Lineales
Material de apoyo Unidad 4 Estructura de datos
Árboles.
ÁRBOLES BINARIOS DE BÚSQUEDA
Definiciones: conjuntos, grafos, y árboles
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.
Árboles B M.C. José Andrés Vázquez Flores Estructuras de Datos / Primavera 2014.
ÁRBOLES BINARIOS DE BÚSQUEDA BALANCEADOS
Árboles.

Árboles Recomendado: 1. Nivelación Funciones
Á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.
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)
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
Matemáticas Discretas MISTI
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.
Árboles binarios. Algoritmos básicos
Universidad Autónoma del Estado de México
Montículos Binarios (Binary Heaps)
Árboles Binarios * Recorridos * Tipo
TAD’s ARBOLES GENERALIZADOS
Estructuras de Datos MC Beatriz Beltrán Martínez Primavera 2016
LISTAS..
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
Árboles (Trees) Árboles Árboles binarios Recorridos de árboles
TEMAS *Arboles Binarios *listas Abiertas y Cerradas - Inserción - Recorrido - Eliminación *Pilas - Concepto - Inserción - Recorrido -
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 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.
Transcripción de la presentación:

Tema 3 Árboles. Conceptos Generales. Curso 2014/2015 ETSISI UPM

Á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, un árbol es una estructura da datos que cumple una de las siguientes condiciones: Estructura vacía Nodo de tipo base que tiene de 0 a N subárboles disjuntos entre sí. Nodo base: raíz del árbol 1 7 5 3 Los elementos de un array se distinguen por su posición, éstos pueden seleccionarse arbitrariamente y son accesibles mediante el índice de selección del componente 4 9 17 29 44 69

Conceptos (I): Nivel de un nodo: número de nodos a recorrer hasta llegar a él Nivel de la raíz = 1 Profundidad de un nodo: número de predecesores más 1 Profundidad (1) = 1 Profundidad (9) = 3 Altura del árbol: profundidad máxima. Altura = 4 Nivel 1 1 Nivel 2 7 3 5 4 9 17 Nivel 3 Nivel 4 29 44 69

Conceptos (II): Camino del nodo X al nodo Y: sucesión de nodos que permitan llegar desde X a Y. Antecesor: A es un nodo antecesor de B si para alcanzar B, desde el nodo raíz, es necesario pasar por A. Sucesor: B es un nodo sucesor de A, si A es antecesor de B. Raíz: único nodo que no tiene antecesor Nodo hoja: nodo sin sucesores Subárbol: árbol formado por un nodo y sus descendientes Grado de un nodo: número de hijos Grado del árbol: el mayor de los grados de los nodos Amplitud/anchura del árbol: número de nodos del nivel más poblado. 1 7 3 5 4 9 17 29 44 69

Árbol completo Todos los nodos (excepto las hojas) tienen el mismo grado y los diferentes niveles están poblados por completo Para obtener un árbol completo se pueden generar nodos especiales En un árbol completo: Amplitud del nivel n: An = gn-1 Número de nodos: Nn = gn -1 g -1 1 7 3 5 4 9 17

ÁRBOLES BINARIOS

Definición. Árbol de grado 2 Implementación física: Estructura estática (matrices) Estructura dinámica Los nodos de un árbol tienen (al menos) tres componentes: Clave (de tipo simple o estructurada) Puntero que indique la ubicación del árbol derecho Puntero que indique la ubicación del árbol izquierdo Además: convención para indicar que no tiene hijos (valor null)

1 1 2 3 4 5 clave 7 9 17 Ar.Iz * Ar.De 7 3 4 9 17 Arbol Memoria estática Memoria dinámica 1 7 3 * raiz NodoArbol

Definición de las clases Clase NodoArbol NodoArbol.h Clase Arbol Arbol.cpp #include <iostream> #ifndef NODOARBOL_H_ #define NODOARBOL_H_ class NodoArbol { public: int clave; NodoArbol *iz, *de; NodoArbol() { clave = 0; iz = de = NULL; } #endif /* NODOARBOL_H_ */ #include "Arbol.h" Arbol::Arbol (){ raiz = NULL; } Arbol::Arbol (int dato){ raiz = new NodoArbol (dato); void destruir (pNodoArbol &nodo) { if (nodo != NULL) { destruir (nodo->iz); destruir (nodo->de); delete nodo; nodo = NULL; Arbol::~Arbol () { pNodoArbol nodo = raiz; destruir (nodo); #include "NodoArbol.h" #ifndef ARBOL_H_ #define ARBOL_H_ typedef NodoArbol *pNodoArbol; class Arbol { public: //Variables miembro pNodoArbol raiz; //interfaz Arbol (); Arbol (int dato); ~Arbol (); }; Clase Arbol Arbol.h

ÁRBOLES BINARIOS DE BÚSQUEDA

Árboles binarios de búsqueda (I). Concepto: Un árbol binario de búsqueda (ABB) es un árbol binario en el que se verifica que las claves del subárbol izquierdo son menores que las claves del árbol derecho. Características: Mayor eficiencia en búsquedas. Listado de claves ordenadas: orden central.

Árboles binarios de búsqueda (II) Ejemplo