Definición: NODO Un nodo es un punto de intersección o unión de varios elementos que confluyen en el mismo lugar.

Documentos relacionados
Estructura de Datos Unidad 6: ARBOLES

ARBOLES ARBOLES COMPUTACIONALES MATEMATICAS DISCRETAS II

Estructura de Datos. Temario Unidad VI. Árboles Árboles Binarios

Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS

Algoritmos y Programación II Curso 2006

Árbol ABB equilibrado. Lección: Árboles. Algorítmica II (Tema 4) Lenguajes y Sistemas Informáticos, Universidad Pablo de Olavide 1/ 58

Análisis y Complejidad de Algoritmos. Arboles Binarios. Arturo Díaz Pérez

ESTRUCTURA DE DATOS. ABB Arboles de Búsqueda Binaria

Tema 09: TAD Árbol binario

Estructura de Datos. Temario Unidad VI. Árboles Árboles AVL

Un árbol binario T se define como un conjunto finito de elementos, llamados nodos, de forma que:

Estructuras de Datos y Algoritmos

PRÁCTICA No. 9 RECORRIDOS EN ÁRBOLES BINARIOS

CAPÍTULO 2. ÁRBOLES 2.0. CONCEPTOS GENERALES

Estructura de Datos Tema 6. Árboles. Contenido 14/06/2018

Árboles AVL. Lección 14

ÁRBOL BINARIO. T der. Árbol binario homogéneo es aquel cuyos nodos tienen grado 0 ó 2(no hay ninguno de grado 1).

12/08/2017 AVL. Especificación sobre árboles AVL. AVL: rotaciones

Árboles balanceados (AVL) Estructura de datos

Estructura de Datos. Unidad V Estructuras no lineales estáticas y dinámicas. (Árboles y grafos)

ESTRUCTURAS DE DATOS Y ALGORITMOS

Arboles Binarios de Búsqueda en C++

PROGRAMA EDUCATIVO INFORMATICA ADMINISTRATIVA

Este material es de uso exclusivo para clase de algoritmos y estructura de datos, la

Árboles Binarios Ordenados Árboles AVL

Estructuras de Datos ARBOLES Y GRAFOS

Definición de árbol. Árboles

Definición recursiva de los árboles

TIPOS DE ARBOLES. Integrantes: Liliana Xitlali Martinez Lovera Octavio Catarino Aguilar

Estructuras de Datos

Definición 1: Un grafo G es una terna ordenada (V(G), E(G), Ψ

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO

Árboles binarios. Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile

UNIVERSIDAD AUTONOMA DE MADRID ESCUELA POLITÉCNICA SUPERIOR ESTRUCTURAS DE DATOS Y ALGORITMOS

TEMA 3. Árboles. Objetivos. Contenidos. Bibliografía. Básica

Capítulo 8. Árboles. Continuar

Estructura de Datos. Árboles Binarios de Búsqueda ABB. Primer Semestre, 2010

Programación Estructuras Arborescentes

Estructura de datos y de la información Boletín de problemas - Tema 10

Diseño y Análisis de Algoritmos con Java(I Sem. 2004) Prof. Dr.Eric Jeltsch F.

Introducción a los árboles. Lección 11

Estructura de Datos. Índice

Estructuras de Datos y Algoritmos: Boletín de Problemas del segundo parcial

Árboles. Árboles. Árboles binarios de búsqueda. Árboles. Inserción en un árbol. Árbol binario de búsqueda

Temario. Tema 5. Estructuras de Datos no Lineales. 5.1 Árboles Binarios 5.2 Árboles n-arios

Algoritmos y Programación II 75.41

Universidad de Valladolid. Departamento de informática. Campus de Segovia. Estructura de datos Tema 5: Árboles. Prof. Montserrat Serrano Montero

Capitulo VI Árboles y Grafos

Eduardo Mosqueira Rey Bertha Guijarro Berdiñas Mariano Cabrero Canosa

Tema Árboles generales. 9.2 Árboles binarios 9.3 Árboles de búsqueda

Descubrir los árboles como paradigma de los tipos Recursivos de Datos

3. ÁRBOLES. Definición. Un árbol es un conjunto finito de nodos R, tal que:

Árboles n-arios de búsqueda. Lección 16

Diseño de Conjuntos y Diccionarios

Estructura de datos y algoritmos. Tema V TDA DINÁMICOS NO LINEALES: Árboles: árboles binarios

El TAD Árbol. El TAD Árbol

Programación 2 Práctico 9 - TADs Árbol Binario de Búsqueda, Árbol Finitario y Árbol n-ario

Definición 1.1 Sea G = (V, A) un grafo no dirigido. G se denomina árbol si es conexo y no contiene ciclos.

Árboles B y B ) 20. Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 63

Tema 10. Árboles. José M. Badía, Begoña Martínez, Antonio Morales y José M. Badía

Tema: ARBOLES. Instructor: MC. Gerardo Gálvez Gámez Junio de 2018 INTRODUCCIÓN:

Tema: Arboles en C#. Objetivos Específicos. Materiales y Equipo. Introducción Teórica. Definición de Árbol Binario. Programación IV. Guía No.

Árboles. Cursos Propedéuticos Dr. René Cumplido M. en C. Luis Rodríguez Flores

Estructuras de Datos Clase 20 Árboles de búsqueda

árbol como un conjunto de nodos y líneas

Francisco J. Hernández López

A) PREORDEN B) INORDEN C) POSTORDEN D) NIVELES

Clase 32: Árbol balanceado AVL

Algoritmos y estructuras de datos

Programación TADs Arboles

Eliminación en un ABB

Tema 7: Árboles ESTRUCTURAS DE DATOS 1

Estructura de Datos. Estructuras de Datos no lineales : Árboles

Tema 4. Estructura de datos no lineales Arboles y Grafos. J.T.P. Maria Eugenia Valesani - Programacion 1 - Fa.Ce.Na.

Un árbol A es un conjunto finito de uno o más nodos tales: ,...V n. ) se dividen en m>=0 conjuntos disjuntos denominados A 1

Francisco J. Hernández López

Ejercicios del Tema 3 Estructuras jerárquicas: Árboles

LECCION N 08 ARBOLES. Un árbol es un grafo A que tiene un único nodo llamado raíz que:

Definiciones: conjuntos, grafos, y árboles. Agustín J. González ELO 320: Estructura de Datos y Algoritmos. 2002

Estructuras de Datos. Clase 20 Árboles de búsqueda. Dr. Sergio A. Gómez.

Tema 10: Árbol binario de búsqueda

Árboles y esquemas algorítmicos. Tema III

Estructura de Datos. Árboles. Árboles. Primer Semestre, 2010 ÍNDICE DE CONTENIDOS

Estructuras de datos Listas y árboles


Análisis y Diseño de Algoritmos (AyDA) Isabel Besembel Carrera

Programación II Arboles Binarios(AB)

ELO320 Estructuras de Datos y Algoritmos. Arboles Binarios AVL. Tomás Arredondo Vidal

Tema 08: TAD Árbol. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom

Existen varios tipos de árboles: 5.1 Árboles binarios

FUNDAMENTOS DE PROGRAMACIÓN Datos recursivos II

Programación II Tema 5. Árboles binarios

Programación Declarativa Universidad de Málaga

Estructura de Datos Árboles Árboles 2-3

Universidad Tecnológica de la Mixteca

ASIGNATURA: (TIS-106) Estructuras de Datos II DOCENTE: Ing. Freddy Melgar Algarañaz

4.5 Árboles AVL (Adelson-Velskii y Landis) Inserción y extracción en árboles AVL

Árboles. Un grafo no dirigido es un árbol si y sólo si existe una ruta unica simple entre cualquiera dos de sus vértices.

Tema 2: Grafos y Árboles. Algoritmos y Estructuras de Datos 3

Transcripción:

Definición: ÁRBOL El árbol es como un tipo de grafo cíclico, conexo y no dirigido. Las estructuras tipo árbol se usan principalmente para representar datos con una relación jerárquica entre sus elementos. Un árbol con ningún nodo es un árbol nulo; no tiene raíz. Una estructura vacía o un elemento o clave de información (nodo) más un número finito de estructuras tipo árbol, disjuntos, llamados subárboles. Si dicho número de estructuras es inferior o igual a dos, se tiene un árbol binario. Es por tanto, una estructura no secuencial. NODO Un nodo es un punto de intersección o unión de varios elementos que confluyen en el mismo lugar.

Árboles Binarios Un árbol binario es un conjunto finito de cero o más nodos tales que: Existe un nodo denominados raíz del árbol Cada nodo puede tener 0, 1 o 2 subárboles, conocidos como subárbol izquierdo y subárbol derecho.

Tipos de árboles binarios Un árbol binario es un árbol con raíz en el que cada nodo tiene como máximo dos hijos. Un árbol binario lleno es un árbol en el que cada nodo tiene cero o dos hijos. Un árbol binario perfecto es un árbol binario lleno en el que todas las hojas están a la misma profundidad (distancia desde la raíz).

Arboles binarios en c. Un árbol binario puede declararse de varias maneras. Algunas de ellas son: Estructura con manejo de memoria dinámica, siendo punto A el puntero que apunta al árbol de tipo tarbol: typedef struct tarbol { int clave; tarbol hizquierdo, hderecho; } tarbol; tarbol árbol[numero_de_nodos];

Recorridos sobre árboles binarios Recorridos en profundidad El método de este recorrido es tratar de encontrar de la cabecera a la raíz en nodo de unidad binaria. Recorrido en preorden En este tipo de recorrido se realiza cierta acción sobre el nodo actual y posteriormente se trata el subárbol izquierdo y cuando se haya concluido, el subárbol derecho. Otra forma para entender el recorrido con este método sería seguir el orden: nodo raíz, nodo izquierda, nodo derecha. el detalle de este es que si no encuentra dara un arbol vacio y lo dara por terminado, en el otro caso viajará de izq a der para determinar que si se pueda seguir.

Recorridos en amplitud (o por niveles). En este caso el recorrido se realiza en orden por los distintos niveles del árbol. Así, comienza tratando el nivel 1, que sólo contiene el nodo raíz, seguidamente el nivel 2, el 3 y así sucesivamente. Búsqueda: simplemente efectúa un recorrido comparando el Elemento que deseas encontrar contra cada uno de los Elementos en los Arreglos.

Recorrido en postorden. En este caso se trata primero el subárbol izquierdo, después el derecho y por último el nodo actual. Otra forma para entender el recorrido con este metodo seria seguir el orden: nodo izquierda, nodo derecha, nodo raíz. Recorrido en inorden En este caso se trata primero el subárbol izquierdo, después el nodo actual y por último el subárbol derecho. Otra forma para entender el recorrido con este metodo seria seguir el orden: nodo izquierda,nodo raíz,nodo derecha.viaje a través del Árbol Binario desplegando el Contenido en el Nodo Izquierdo después la Raíz y finalmente viaja a través del Nodo Derecho.

Los árboles binarios Deben de tener un número de hijos predefinidos. Para mantener el orden predefinido, cuando se elimina un nodo se junta o se parte en el nodo siguiente. Requiere que todas las hojas tengan la misma altura. La información se guarda en las hojas o también llamadas páginas. Los nodos hojas se encuentran unidos entre sí como una lista enlazada y se realiza una búsqueda secuencial. Cada página tiene como máximo N nodos. Cada página excepto la raíz tiene como mínimo n/2 nodos. Cada pagina es bien una página hoja o bien tiene mt1 dependientes(número de nodos que contiene)

Árboles AVL Es un tipo especial de árbol binario ideado por los matemáticos rusos Adelson-Velskii y Landis (de los cuales toma ese nombre). Fue el primer árbol de búsqueda binario auto-balanceable que se ideó.

Definición de un árbol AVL Un árbol vacío es un árbol avl. es un árbol binario de búsqueda en el que para cada nodo, las alturas de sus subárboles izquierdo y derecho no difieren en más de 1. a cada nodo de un árbol AVL se le asocia un factor de Balance, el cual es izquierdo alto, igual o derecho alto, respectivamente, según que el subárbol izquierdo tengauna altura mayor, igual o menor que la del subárbol derecho. La denominación de árbol AVL viene dada por los creadores de tal estructura (Adelson-Velskii y Landis).

Factor de equilibrio: Cada nodo, además de la información que se pretende almacenar, debe tener los dos punteros a los árboles derecho e izquierdo, igual que los AB, y además un miembro nuevo: el factor de equilibrio. El factor de equilibrio es la diferencia entre las alturas del árbol derecho y el izquierdo: FE = altura subárbol derecho - altura subárbol izquierdo; Por definición, para un árbol AVL, este valor debe ser - 1, 0 ó 1.

Operaciones con los arboles AVL: Rotaciones El reequilibrado se produce de abajo hacia arriba sobre los nodos en los que se produce el desequilibrio. Pueden darse dos casos: rotación simple o rotación doble; a su vez ambos casos pueden ser hacia la derecha o hacia la izquierda. Extracción El procedimiento de borrado es el mismo que en el caso de árbol binario de búsqueda. La diferencia se encuentra en el proceso de reequilibrado posterior. El problema de la extracción puede resolverse en O (log n) pasos. Una extracción trae consigo una disminución de la altura de la rama donde se extrajo y tendrá como efecto un cambio en el factor de equilibrio del nodo padre de la rama en cuestión, pudiendo necesitarse una rotación.

Rotación Simple a la Derecha: Se usará cuando el subárbol izquierdo de un nodo sea 2 unidades más alto que el derecho, es decir, cuando su FE sea de -2. Y además, la raíz del subárbol izquierdo tenga una FE de -1, es decir, que esté cargado a la izquierda. 1.Pasamos el subárbol derecho del nodo Q como subárbol izquierdo de P. Esto mantiene el árbol como ABB, ya que todos los valores a la derecha de Q siguen estando a la izquierda de P. 2.El árbol P pasa a ser el subárbol derecho del nodo Q. 3.Ahora, el nodo Q pasa a tomar la posición del nodo P, es decir, hacemos que la entrada al árbol sea el nodo Q, en lugar del nodo P. Previamente, P puede que fuese un árbol completo o un subárbol de otro nodo de menor altura.

Rotación Simple a la Izquierda: Se usará cuando el subárbol derecho de un nodo sea 2 unidades más alto que el izquierdo, es decir, cuando su FE sea de 2. Y además, la raíz del subárbol derecho tenga una FE de 1, es decir, que esté cargado a la derecha. 1.Pasamos el subárbol izquierdo del nodo Q como subárbol derecho de P. Esto mantiene el árbol como ABB, ya que todos los valores a la izquierda de Q siguen estando a la derecha de P. 2.El árbol P pasa a ser el subárbol izquierdo del nodo Q. 3.Ahora, el nodo Q pasa a tomar la posición del nodo P, es decir, hacemos que la entrada al árbol sea el nodo Q, en lugar del nodo P. Previamente, P puede que fuese un árbol completo o un subárbol de otro nodo de menor altura.

Rotación Doble a la Derecha: Se usará cuando el subárbol izquierdo de un nodo sea 2 unidades más alto que el derecho, es decir, cuando su FE sea de -2. Y además, la raíz del subárbol izquierdo tenga una FE de 1, es decir, que esté cargado a la derecha. 1.Haremos una rotación simple de Q a la izquierda. 2.Después, haremos una rotación simple de P a la derecha.

Rotación Doble a la Izquierda: Se usará cuando el subárbol derecho de un nodo sea 2 unidades más alto que el izquierdo, es decir, cuando su FE sea de 2. Y además, la raíz del subárbol derecho tenga una FE de -1, es decir, que esté cargado a la izquierda. Se trata del caso simétrico del anterior. 1.Haremos una rotación simple de Q a la derecha. 2.Después, haremos una rotación simple de P a la izquierda.

Thanks, ありがとう, Danke,Gracias