Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 1 Fibonacci Heap(HF) 723 30 17 35 2646 24 H 39 411852 3 44 min marcado Para conocer en detalle.

Slides:



Advertisements
Presentaciones similares
ÍNDICES.
Advertisements

INGENIERIA INFORMATICA Y BUSQUEDAS CON ADVERSARIOS
ESTRUCTURA DE DATOS Unidad 04 TDA no lineales - Árboles.
Organización Secuencial
IBD Clase 6.
IBD Clase 7.
ESTRUCTURA DE DATOS Unidad 04 Árboles BINARIOS DE BUSQUEDA.
GRAFOS ESTRUCTURAS DE DATOS.
Montículos Daniel González Pérez Cristina Sánchez Aragón
ÁRBOLES EN C UNIVERSIDAD “ALONSO DE OJEDA” Facultad de Ingeniería
Igor Santos Grueiro. Muchos objetos tienen CLAVE.
ÁRBOLES BINARIOS DE BUSQUEDA
Tema 4 Árboles. Conceptos Generales..
Implementación de listas
MODELOS DE DATOS.
Cont. Arbol Binario de Búsqueda
ÁRBOLES DE EXPRESION.
Inteligencia artificial
ARBOLES PARCIALMENTE ORDENADOS ESTRUCTURAS DE DATOS.
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.
DOM. DOM = Document Object Model Permite acceder y manipular las páginas XHTML DOM transforma los documentos XHTML en un conjunto de elementos llamados.
Estructuras dinámicas de datos, TAD Lista, parte 2
Listas circulares.
Estructura de Datos Lineales
Árboles.
Árboles, montículos y grafos Cola de prioridades, montículos
Ordenamiento, Heapsort y Colas de prioridad
Heaps Mauro Maldonado Abril/2005. Introducción La estructura heap es frecuentemente usada para implementar colas de prioridad. En este tipo de colas,
ESTRUCTURAS DE DATOS I Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos.
ARBOLES ESTRUCTURAS DE DATOS.
Estructura de Datos y Algoritmos
Diseño y análisis de algoritmos
Árboles binarios de búsqueda
ARBOLES ESTRUCTURAS DE DATOS.
Árboles.
Árboles Recomendado: 1. Nivelación Funciones
Árboles Binarios Estructuras de Datos.
Este modelo utiliza árboles para la representación lógica de los datos. Este árbol esta compuesto de unos elementos llamados nodos. El nivel más alto.
Universitarios: Ricardo Gonzales Jimenez Wilfredo Coca Reinaldo Yohan Docente: Lic. Israel Torrez Valverde Tema: Listas doblemente Enlazadas.
1 Ordenamiento y estadísticas de orden Agustín J. González ELO 320: Estructura de Datos y Algoritmos.
Minimum Spanning Tree (Árbol de Expansión Mínima)
Minimum Spanning Tree (Árbol de Expansión Mínima)
Arboles B (búsqueda externa)
Dr. Ing. Eric Jeltsch - Universidad de La Serena Chile 1 Competitividad Regional... INFORME ÍNDICE DE COMPETITIVIDAD REGIONAL 2003 Competitividad e Innovación.
Ecuaciones de segundo grado
Punteros, referencias Listas enlazadas Arboles
Son datos en tablas relacionadas por el contenido de ciertas columnas.
Hojas de Estilo en Cascada (Cascading Style Sheets)
Heap Fibonacci heap de Fibonacci es una estructura de datos similar a un heap binomial pero con mejor coste amortizado. se utiliza para mejorar el tiempo.
INSTITUTO TECNOLOGICO DE APIZACO
Estructura de datos Francisco Castro
Universitarios: Ricardo Gonzales Jimenez Wilfredo Coca Reinaldo Rodolfo Canido Docente: Lic. Israel Torrez Valverde Tema: Listas doblemente Enlazadas.
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”
A YUDANTÍA 5: A RBOLES Carlos Pulgar R. Mail: Página Ayudantía:
Estructura de Datos..
Aplicación JAVA implementando Arboles de Decisión
M.C. Meliza Contreras González
Laboratorio de programación Luisa Fernanda Rincón Pérez
UNIDAD 8 Lista Enlazada: Eliminar Deseamos eliminar un elemento llamado elem de la lista enlazada. Es posible que la variable ini sea modificada. main(){
1 ListaUna Lista se define como una serie de N elementos E 1, E 2,..., E N, ordenados de manera consecutiva, es decir, el elemento E k (que se denomina.
Una base de datos o banco de datos un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este.
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
Montículos Binarios (Binary Heaps)
Heaps.


ÁRBOLES ESTRUCTURA DE DATOS II ING. CARLOS ALBERTO PULLAS.
Regla de la cadena. Derivada de funciones compuestas.
Transcripción de la presentación:

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 1 Fibonacci Heap(HF) H min marcado Para conocer en detalle de como representar un HF mediante estructuras de datos, vea la pág. 422, CLR.

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 2 Fibonacci Heap(HF) H min marcado grado[x] = grado del nodo x (nº de hijos). marca[x] = nodo marcado x (gris). t(H)= # arbol. m(H)= # nodos marcados.  (H)= t(H) + 2m(H), es la función potencial. t(H) = 5, m(H) = 3,  (H) = 11 grado 3

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 3 Fibonacci Heap(HF) H min Insertar(x): Crea un nuevo árbol con x como raíz, y se situa a la izq. del puntero min. Actualizando el min si corresponde. Insert 21 21

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 4 Fibonacci Heap(HF) H min 21 Insert 2

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 5 Fibonacci Heap(HF) H min 212

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 6 Fibonacci Heap(HF) H min 212

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 7 Fibonacci Heap(HF) Union. Concatenar dos Fibonacci heaps. Las raices son implementadas a través de listas circulares doblemente enlazadas. Sea H1, el HF que se obtiene luego de insertar y en este orden, los datos: 12, 7, 25, 15, 28, 33, 41. Analog. H2 con 18, 3, 6, min 417 H H2 min H1+H min

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 8 Fibonacci Heap(HF) min min min H1 H2 H1+H2

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 9 Fibonacci Heap(HF) Eliminar Min:Borra el min y concatena sus hijos en la lista de raices. Aplicar Consolidate(H), esto es, ningún par de raíces tienen el mismo grado. Concatena Fibonacci heaps. Las raices son implementadas a través de listas circulares doblemente enlazadas. Se usa un array auxiliar A[0..log(nH)] min Eliminar 3

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 10 Fibonacci Heap(HF) min

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 11 Fibonacci Heap(HF) min Consolidate(H),

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 12 Fibonacci Heap(HF) actual min Consolidate(H),

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 13 Fibonacci Heap(HF) actual min Consolidate(H),

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 14 Fibonacci Heap(HF) actual min Consolidate(H),

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 15 Fibonacci Heap(HF) actual min Merge los arboles con raíz 17 y 23. Consolidate(H),

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 16 Fibonacci Heap(HF) actual min Merge los arboles con raíz 7 y 17. Consolidate(H),

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 17 Fibonacci Heap(HF) actual min Merge los arboles con raíz 24 y 17. Consolidate(H),

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 18 Fibonacci Heap(HF) actual min Consolidate(H),

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 19 Fibonacci Heap(HF) actual min Consolidate(H),

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 20 Fibonacci Heap(HF) actual min Consolidate(H),

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 21 Fibonacci Heap(HF) actual min Consolidate(H), Merge los arboles con raíz 18 y 41.

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 22 Fibonacci Heap(HF) min Fin de Consolidate(H), Costo de consolidar arboles. O(D(n) + t(H)). D(n)= grado max de cualquier nodo en HF con n nodos. t(H)= # arboles en heap H.

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 23 Fibonacci Heap(HF) Decrementar la clave de un elemento x a k. Caso 0 : propiedades del min-heap no alteradas. – Decrementa la clave de x a k – Cambia el puntero min del heap, si es necesario Decrementa 46 a * 35 min

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 24 Fibonacci Heap(HF) Decrementar la clave de un elemento x a k. Caso 0 : propiedades del min-heap no alteradas. – Decrementa la clave de x a k – Cambia el puntero min del heap, si es necesario Decrementa 46 a min

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 25 Fibonacci Heap(HF) Decrementar la clave de un elemento x a k. Caso 1 : padre de x no está marcado. Decrementa clave de x a k; Corta el enlace entre x y su padre; Marca al padre; Agrega el árbol con raíz x a la lista de raíces, actualizando el puntero a min del heap Decrementa 45 a min

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 26 Fibonacci Heap(HF) Decrementar la clave de un elemento x a k. Caso 1 : padre de x no está marcado. Decrementa clave de x a k; Corta el enlace entre x y su padre; Marca al padre; Agrega el árbol con raíz x a la lista de raíces, actualizando el puntero a min del heap min Decrementa 45 a 15.

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 27 Fibonacci Heap(HF) min Decrementar la clave de un elemento x a k. Caso 1 : padre de x no está marcado. Decrementa clave de x a k; Corta el enlace entre x y su padre; Marca al padre; Agrega el árbol con raíz x a la lista de raíces, actualizando el puntero a min del heap. Decrementa 45 a 15.

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 28 Fibonacci Heap(HF) Decrementar la clave de un elemento x a k. Caso 1 : padre de x no está marcado. Decrementa clave de x a k; Corta el enlace entre x y su padre; Marca al padre; Agrega el árbol con raíz x a la lista de raíces, actualizando el puntero a min del heap min Decrementa 35 a 15.

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 29 Fibonacci Heap(HF) Decrementar la clave de un elemento x a k. Caso 2 : Si padre de x está marcado. Decrementa la clave de x a k; corta el enlace entre x y su padre p[x], y agrega x a la lista de raices; corta el enlace entre p[x] y p[p[x]], agrega p[x] a la lista de raices. n Si p[p[x]] no está marcado, lo marca. n Si p[p[x]] está marcado, corta p[p[x]] no marcado, y repite el proceso min Decrementa 35 a 5.

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 30 Fibonacci Heap(HF) Decrementar la clave de un elemento x a k. Caso 2 : Si padre de x está marcado.Decrementa la clave de x a k; corta el enlace entre x y su padre p[x], y agrega x a la lista de raices; corta el enlace entre p[x] y p[p[x]], agrega p[x] a la lista de raices. n Si p[p[x]] no está marcado, lo marca. n Si p[p[x]] está marcado, corta p[p[x]] no marcado, y repite el proceso min Decrementa 35 a 5.

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 31 Fibonacci Heap(HF) Decrementar la clave de un elemento x a k. Caso 2 : Si padre de x está marcado.Decrementa la clave de x a k; corta el enlace entre x y su padre p[x], y agrega x a la lista de raices; corta el enlace entre p[x] y p[p[x]], agrega p[x] a la lista de raices. n Si p[p[x]] no está marcado, lo marca. n Si p[p[x]] está marcado, corta p[p[x]] no marcado, y repite el proceso min Decrementa 35 a 5.

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 32 Fibonacci Heap(HF) Decrementar la clave de un elemento x a k. Caso 2 : Si padre de x está marcado.Decrementa la clave de x a k; corta el enlace entre x y su padre p[x], y agrega x a la lista de raices; corta el enlace entre p[x] y p[p[x]], agrega p[x] a la lista de raices. n Si p[p[x]] no está marcado, lo marca. n Si p[p[x]] está marcado, corta p[p[x]] no marcado, y repite el proceso min Decrementa 35 a 5.

Dr. Eric Jeltsch F. Ingenieria en Computacion, ULS(DAA_2004) 33 Fibonacci Heap(HF) Decrementar la clave de un elemento x a k. Caso 2 : Si padre de x está marcado.Decrementa la clave de x a k; corta el enlace entre x y su padre p[x], y agrega x a la lista de raices; corta el enlace entre p[x] y p[p[x]], agrega p[x] a la lista de raices. n Si p[p[x]] no está marcado, lo marca. n Si p[p[x]] está marcado, corta p[p[x]] no marcado, y repite el proceso min Decrementa 35 a 5. Eliminar nodo x. n Decrementar x a - . n Eliminar el min elem. del heap.