TEMAS *Arboles Binarios *listas Abiertas y Cerradas - Inserción - Recorrido - Eliminación *Pilas - Concepto - Inserción - Recorrido -

Slides:



Advertisements
Presentaciones similares
Árboles Grafo que no contiene ciclos, es decir es un grafo también acíclico, pero a su vez es conexo.
Advertisements

Programación y Estructuras de Datos
Tema 4 Árboles. Conceptos Generales..
Árboles balanceados AVL
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.
Tema Nº4.
Árboles.
Estructuras de Datos MC Beatriz Beltrán Martínez.
Árboles, montículos y grafos Cola de prioridades, montículos
Tópicos I Árboles, montículos y grafos
ARBOLES ESTRUCTURAS DE DATOS.
Estructura de Datos y Algoritmos
ARBOLES ESTRUCTURAS DE DATOS.
Árboles B M.C. José Andrés Vázquez Flores Estructuras de Datos / Primavera 2014.
Definición, propiedades, recorridos x a q yb w e vu fo.
Almacenamiento y Recuperacion de Información- Arbol AVL
ÁRBOLES BINARIOS DE BÚSQUEDA BALANCEADOS
Estructuras de Datos1 ABB´s balanceados por peso Balance perfecto Para cada nodo, el número de nodos del subárbol izquierdo y el número de nodos del subárbol.
Árboles.
Árboles Recomendado: 1. Nivelación Funciones
1 Arboles AVL Introducción Arboles AVL (Adel’son-Vel’skii and Landis.
Estructura de Datos M.C. José Andrés Vázquez Flores FCC/BUAP
Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP
ARBOLES GENERALIZADOS
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.
M.C. Meliza Contreras González
Arboles Binarios: AVL (Adelson – Velskii - Landis)
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
Un grafo consta de un conjunto de vértices y un conjunto de aristas. Cada arista de un grafo se especifica mediante un par de vértices. Denotemos al conjunto.
L ISTAS ENLAZADAS M.IA. Daniel Alejandro García López.
Programación lógica funcional Árboles Binarios.  El siguiente trabajo trata sobre la estructura de datos no lineales llamada árbol. Esta estructura se.
BASE DE DATOS.
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
Estructuras de Datos MC Beatriz Beltrán Martínez Primavera 2016
Listas enlazadas particulares
Unidad 7: Nivel Interno Algunos Conceptos Importantes
Tipos de Datos abstractos
Introducción a las estructuras de datos
LENGUAJE DE PROGRAMACION “PILAS”
Á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.
ALUMNOS: CORNEJO GUILLÉN PEDRO FLORES LUIS DANTE GONZALES NINA LEWIS.
Árboles (Trees) Árboles Árboles binarios Recorridos de árboles
Árboles Binarios de Búsqueda (ABB)
Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP
Arboles M.C. José Andrés Vázquez FCC/BUAP
Curso de Programación Estructurada
Estructuras de Datos Dinámicas
LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
Estructuras Dinámicas
Listas ligadas Dra. María de Lourdes López García
Estructuras de Datos MC Beatriz Beltrán Martínez Primavera 2018
UNIDAD 3 LISTAS LISTAS CIRCULARES Integrantes: Galmiche Vera Orlando Mandujano González Ramón Enrique Salvador Magaña Kelyn Osmara.
Estructura de Datos M.C. José Andrés Vázquez Flores FCC/BUAP Árboles AVL Objetivos:  Entender la importancia que tiene el balanceo en un ABB.  Describir.
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.
METODOS DE ORDENAMIENTO CHRISTIAN MICHAEL OBANDO GARCES JOAO ADRIAN BARIONUEVO.
Árboles Binarios Estructuras de Datos.
Ecuaciones Una ecuación es una igualdad entre dos expresiones en la que aparecen números y letras ligados por operaciones. Las letras representan cantidades.
Á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.
M.C. José Andrés Vázquez Flores
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:

TEMAS *Arboles Binarios *listas Abiertas y Cerradas - Inserción - Recorrido - Eliminación *Pilas - Concepto - Inserción - Recorrido - Eliminación * Colas - Inserción - Recorrido - Eliminación *Manejo de Memoria Estática * Manejo de Memoria Dinámica * Arboles Definicial * tipos de Recorrido -Orden - In-Orden - Post-Orden * Que son Arboles AVL * Arboles Equilibrados AVL

Árboles binarios Un árbol binario en un árbol en el cual cada nodo puede tener como máximo dos hijos. Recursivamente un árbol binario puede definirse como: un árbol vacío, o un nodo raíz con un subárbol izquierdo y un subárbol derecho. Raíz Sub árbol Izquierdo Sub árbol Derecho

Es una estructura de datos jerárquica QUÉ ES UN ÁRBOL? Un árbol es una estructura de datos formada por nodos los cuales están conectados por aristas. Es una estructura de datos jerárquica La relación entre los elementos es de uno a muchos. nodos A B C D E F G H I Aristas

Un árbol puede estar vacío; es decir no contener ningún nodo. Raíz: es el nodo que está al tope del árbol. Un árbol solo tiene una raíz. raíz A B C D E F G H I

Conceptos Básicos Un conjunto de nodos y aristas se define como un árbol y solo si existe un único camino desde la raíz hasta cada uno de sus nodos. A B C D E F G H I

Ejemplo: C es padre de E y de F, D es padre de G, de H y de I. Padre: En un árbol toda rama va de un nodo n1 a un nodo n2, se dice que n1 es padre de n2. Ejemplo: C es padre de E y de F, D es padre de G, de H y de I. Hijo: todo nodo puede tener mas de una arista que lo lleva a otro nodo por debajo de él. Estos nodos que se encuentran por debajo de un nodo dado se llaman hijos. Ejemplo: E es hijo de C, B es hijo de A, H es hijo de D A B C D E F G H I padres hijos

Hojas: son aquellos nodos que no tienen hijos Hojas: son aquellos nodos que no tienen hijos. En un arbol solo puede haber una raíz pero pueden haber muchas hojas. Ejemplo: B,E,F,G,H,I son hojas. Subárbol: Cualquier nodo se puede considerar como la raíz de un subárbol.

El nivel de la raíz es cero. Nivel: el nivel de un nodo es el numero de generaciones que hay desde la raíz hasta él. El nivel de la raíz es cero. Profundidad o altura: es la longitud del camino mas largo desde la raíz hasta una hoja. La profundidad de este árbol es 2. La raíz tiene profundidad 0. Nivel 0 A B C D E F G H I Nivel 1 Nivel 2

LISTAS CIRCULARES Una lista circular es una lineal, en la que el ultimo elemento enlaza con el primero. Entonces es posible acceder a cualquier elemento de la lista desde cualquier punto dado. Las operaciones sobre una lista circular resultan mas sencillas, ya que se evitan casos especiales. Cuando recorremos una lista circular, diremos que hemos llegado al final de la misma, cuando nos encontramos de nuevo en el punto de partida; suponiendo, desde luego, que el punto de partida se guarda de alguna manera en la lista, por ejemplo Con un puntero fijo al mismo.

+2 +++4+ +4 -1 00 + 3 1 + 1 3 + 4 - 1 Listas Circular Como ejemplo de utilización de listas circulares, realizaremos la suma de ecuaciones algebraicas o polinómicas de las variables x, y, z.. Por ejemplo: 2x³y + 4xy³- y⁴ más 2xy³-xy Cada polinomio será representado como una lista en la que cada elemento representa un término nulo, como se indica a continuación: COEFICIENTE ± A B C SIGUIENTE

MEMORIA ESTATICA La forma más fácil de almacenar el contenido de una variable en memoria en tiempo de ejecución es en memoria estática o permanente a lo largo de toda la ejecución del programa. La asignación de memoria puede hacerse en tiempo de compilación y los objetos están vigentes desde que comienza la ejecución del programa hasta que termina.

EJEMPLO: liberación de Memoria Estática 4 8 14 20 4 20 8 14 6 4 8 6 20

MANEJO DE UNA MEMORIA ESTÀTICA VENTAJAS DESVENTAJAS Es una memoria fija En algunos casos se pueden desperdiciar memoria Fácil de almacenar datos En otros casos pueden que ser que los datos sea grande el espacio asignado. Es una sola casilla Es secuencial Desperdicia espacio liberado Desperdicia espacio liberado

MEMORIA DINAMICA La memoria dinámica es un espacio de almacenamiento que se solicita en tiempo de ejecución. De esa manera, a medida que el proceso va necesitando espacio para más líneas, va solicitando más memoria al sistema operativo para guardarlas. Mejor ajuste: Busca asignar el espacio más pequeño de los espacios con capacidad suficiente. Peor ajuste: Asigna el hueco más grande. Una vez más, se debe de buscar en toda la tabla de huecos a menos que esté organizada por tamaño

Liberación De Memoria Estática EJEMPLO Liberación De Memoria Estática 6 8 14 20 4 20 8 14 2 46

MANEJO DE UNA MEMORIA ESTÀTICA VENTAJAS DESVENTAJAS No es secuencial En algunos casos se pueden desperdiciar memoria Utiliza un puntero En otros casos pueden que ser que los datos sea grande el espacio asignado. Para ubicación de un registro Debe ser refrescada Desperdicia espacio liberado Una función que asigna a Malloc Desperdicia espacio liberado

TIPOS DE RECORRIDO In-order: Post-order: Pre-order: Procesar nodo Procesar árbol izquierdo Procesar árbol derecho In-order: Post-order: A B C F G D E Pre-orden: A, B, D, E, C, F, G In-orden: D, B, E, A, F, C, G Post-orden: D, E, B, F, G, C, A

ÁRBOLES EQUILIBRADOS AVL. Un árbol AVL (llamado así por las iníciales de sus inventores: Adelson-Velskii y Landis) 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. Los AVL son también ABB, de modo que mantienen todas las operaciones que poseen éstos. Las nuevas operaciones son las de equilibrar el árbol, pero eso se hace como parte de las operaciones de insertado y borrado.

Ejemplos de arboles equilibrados ESTE ES UN ARBOL AVL NO ES ÀRBOL AVL

Inserción externa por la derecha. Si se inserta nodo F, en la rama externa más larga del subárbol derecho: La relación de orden del árbol binario es: A<B<C<D<E<F

Inserción interna por la derecha. Si se inserta nodo D, en la rama interna más larga del subárbol derecho. Con orden: A<B<C<D<E<F

Veamos ahora la forma en que puede afectar una inserción en un árbol AVL y la forma en que deberíamos reorganizar los nodos de manera que siga equilibrado. Consideremos el esquema general de la siguiente figura, supongamos que la inserción ha provocado que el subárbol que cuelga de Ai pasa a tener una altura 2 unidades mayor que el subárbol que cuelga de Ad . ¿Qué operaciones son necesarias para que el nodo r tenga 2 subárboles que cumplan la propiedad de árboles AVL?.

La inserción se ha realizado en el árbol A La inserción se ha realizado en el árbol A. La operación a realizar es la de una rotación simple a la derecha sobre el nodo r resultando el árbol mostrado en la siguiente figura.

La inserción se ha realizado en el árbol B La inserción se ha realizado en el árbol B. (supongamos tiene raíz b, subárbol izquierdo B1 y subárbol derecho B2). La operación a realizar es la rotación doble izquierda-derecha la cual es equivalente a realizar una rotación simple a la izquierda sobre el nodo Ai y después una rotación simple a la derecha sobre el nodo r (por tanto, el árbol B queda dividido). El resultado se muestra en la figura siguiente.