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

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

Estructuras de datos Árboles B

DEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006

Á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.

PRÁCTICA No. 13 ÁRBOL BINARIO DE BÚSQUEDA

7. Agrupamiento (clustering)

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

Ampliación de Estructuras de Datos

árbol como un conjunto de nodos y líneas

Árbol binario. Elaborado por Ricardo Cárdenas cruz Jeremías Martínez Guadarrama Que es un árbol Introducción

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

UNIVERSIDAD NACIONAL DE INGENIERÍA CENTRO DE EXTENSIÓN Y PROYECCIÓN SOCIAL

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

Sistemas de Información II Tema 8. Estructuras de datos en memoria secundaria

GRAMATICAS LIBRES DEL CONTEXTO

Árboles Binarios Ordenados Árboles AVL

Gestor de bases de datos MicroSoft Access (2 de 4)

UNIDAD 9. DATOS COMPLEJOS PILAS

Algoritmos y estructuras de datos

Estructuras de datos: Árboles binarios de

(d) Puede haber estrategias que funcionan mejor que Minimax si el contrincante es

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos

Capítulo 6. ÁRBOLES.

Tablas Hash y árboles binarios

Árboles AVL. Laboratorio de Programación II

Estructuras de datos. Estructuras de datos

Complejidad computacional (Análisis de Algoritmos)

Algorítmica y Complejidad. Tema 3 Ordenación.

(e) Con la poda alfa-beta se eliminan nodos que nunca serán alcanzados

ÁRBOLES BINARIOS GRUPO # 22 Alumnos: Aguilar Elba Barrios Miguel Camacho Yaquelin Ponce Rodríguez Jhonny

Métodos de Ordenamiento. Unidad VI: Estructura de datos

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

BASES DE DATOS TEMA 2 MODELOS DE DATOS


Tema 10- Representación Jerárquica: Tema 10- Representación Jerárquica: Árboles Binarios

ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES

Es un conjunto de objetos llamados vértices o nodos unidos por enlaces llamados aristas o arcos, que permiten representar relaciones binarias entre

Profesorado de Informática Ciencias de la Computación INET- DFPD Matemática I - Matemática Discreta usando el computador Ing. Prof.

14. ÁRBOLES Fundamentos y terminología básica

Tabla de Símbolos. Programación II Margarita Álvarez

ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES

Búsqueda con adversario

Clase 32: Árbol balanceado AVL

NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS

Tema: Los Grafos y su importancia para la optimización de redes.

Grafos. Suponiendo que e = [u, v]. Entonces los nodos u y v se llaman extremos de e y u y v se dice que son nodos adyacentes o vecinos.

GESTIÓN DE ARCHIVOS. Presentado por: Alba Arosemena Alma Vargas Hospicia Mendoza Roselvira Fernández Ahías Arosemena

Capítulo 12: Indexación y asociación

(b) Cuál es la desventaja principal de una heurística con aprendizaje? es más informada que otra función heurística optimista h 2 *?

Capítulo 6. Relaciones. Continuar

Grafos. Amalia Duch Brown Octubre de 2007

Bases de Datos Indexación y Hashing 1. Indexación. Jorge Pérez Rojas Universidad de Talca, II Semestre 2006

LABORATORIO VIRTUAL para Enseñanza de Programación

Tema 2. Organizaciones de ficheros y estructuras de acceso

INDICE Prologo Capitulo 1. Algoritmos y programas Capitulo 2. La resolución de los problemas con computadoras y las herramientas de programación

Árboles balanceados. Alonso Ramírez Manzanares Computación y Algoritmos Thursday, April 30, 15

Almacenamiento y Recuperación de la Información

Fundamentos de programación JAVA

Árboles binarios de búsqueda ( BST )

Proyecto 6. Árboles de decisión: Un árbol de decisión es un modelo de predicción utilizado en el ámbito de la inteligencia artificial.

Medidas de Tendencia Central

A B MIN C D E F MAX x E.T.S.I. INFORMÁTICA 4º CURSO. INTELIGENCIA ARTIFICIAL E INGENIERÍA DEL CONOCIMIENTO

Minería de Datos. Árboles de Decisión. Fac. Ciencias Ing. Informática Otoño de Dept. Matesco, Universidad de Cantabria

Compresión de Datos. Método de Huffman. Dpto. Informática

Notas de Clase. Prof. Juan Andrés Colmenares, M.Sc. Instituto de Cálculo Aplicado Facultad de Ingeniería Universidad del Zulia. 21 de febrero de 2004

UNIVERSIDAD DE GUADALAJARA

Curso de Programación 1

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.

Introducción Supongamos un subconjunto de n elementos X = {e 1,,e n de un conjunto referencial Y, X Y. Dentro de Y se define una relación de orden tot

ARREGLOS DEFINICION GENERAL DE ARREGLO

Arboles Binarios de Búsqueda

4. NÚMEROS PSEUDOALEATORIOS.

Unidad II: Análisis semántico

3ra. Practica. Algoritmos de Búsqueda. Inteligencia Artificial Prácticas 2004/2005

MatemáticaDiscreta&Lógica 1

Estructura de Datos. Unidad de Aprendizaje: Unidad de Competencia II: Estructuras de Datos Lineales. M. en C. Edith Cristina Herrera Luna

P L A N I F I C A C I O N

CERTIFICADO DE APTITUD PEDAGÓGICA DIDÁCTICA DE LA INFORMÁTICA

Sistemas Combinacionales y Sistemas Secuenciales

TEMA 7. EL TDA PILA Definición

UNIVERSIDAD AUTÓNOMA DE AGUASCALIENTES CENTRO DE CIENCIAS BÁSICAS DEPARTAMENTO DE SISTEMAS ELECTRÓNICOS OBJETIVO GENERAL MÉTODOS DIDÁCTICOS EVALUACIÓN

Técnicas de inteligencia artificial. Visión Artificial Visión 3D

Aprendizaje Automatizado

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

ALGORITMO MINIMAX. o Nodo: Representa una situación del juego. o Sucesores de un nodo: Situaciones del juego a las que se

Tema 9. Algoritmos sobre listas. Programación Programación - Tema 9: Algoritmos sobre listas

Registro (record): es la unidad básica de acceso y manipulación de la base de datos.

DISEÑO DE UN ANIMADOR DE ALGORITMOS DE BÚSQUEDA Y ORDENACIÓN ( ID2012/055 )

Fundamentos de Programación Visual Basic

Clases e instancias. Algoritmos y Estructuras de Datos I. Clases e instancias. memoria dinámica.

: Algorítmica y Estructura de Datos I

Análisis amortizado El plan:

Unidad I: Análisis semántico

Sistemas operativos. Tema 10: Sistemas de ficheros

UNIVERSIDAD AUTONOMA DE BAJA CALIFORNIA DIRECCION GENERAL DE ASUNTOS ACADEMICOS PROGRAMA DE ASIGNATURA

Reconocímíentes y Agradecimientos 5 Indice 6 Prólogo 11

Redes (IS20) Ingeniería Técnica en Informática de Sistemas. CAPÍTULO 5: Subcapa de acceso al medio

Redes Semánticas. IIMAS Inteligencia Artificial. Alumno: Vicente Iván Sánchez Carmona Profesora: Dr. Ana Lilia Laureano

Ing. Manuel Ramírez López ITESCA

3. COLA DE PRIORIDAD DEFINICION (I)

Transcripción:

VL Se dice que un árbol binario está balanceado si y sólo si en cada nodo las alturas de sus 2 subárboles difieren como máximo en 1. Todos los árboles perfectamente balanceados son árboles VL. Especificación sobre árboles INF2240 Estructura de datos Escuela de Ingeniería Informática Pontificia Universidad atólica de Valparaíso 178 VL VL: rotaciones 10 10 través de rotaciones es posible transformar un árbol binario cualquiera en un árbol VL. 5 17 5 17 7 7 6 NO VL VL 179 180 1

VL: rotaciones VL: rotaciones Rotación derecha simple: Rotación izquierda simple: (( ) ) ( ( )) ( ( )) (( ) ) 181 182 VL: rotaciones VL: rotaciones Rotación derecha doble: T4 Rotación izquierda doble: T4 ( ( ) T4) (( ) ( T4)) 183 T4 T4 ( ( ) T4) (( ) ( T4)) 184 2

Representación de árboles binarios Representación de árboles binarios Los árboles binarios (y también de búsqueda - ) pueden ser representados de distintas formas, utilizando: Punteros Tres vectores Un vector de valores Un vector de estructuras Ejemplo, mediante punteros: 1 2 3 4 5 6 7 185 186 Representación de mediante 3 vectores Representación de mediante 3 vectores Esta alternativa considera 3 arreglos lineales paralelos, que contemplan el campo de información y las posiciones de los 2 subárboles. 187 a b c d e f g h i j k 1 a 4 11 2 g 0 5 3 d 0 8 4 b 3 7 5 k 0 0 6 f 0 9 7 e 0 10 8 h 0 0 9 j 0 0 10 i 0 0 11 c 6 2 N INFO. IZQ DER 188 3

Representación de mediante vector de valores Representación de mediante vector de valores Se considera un solo arreglo unidimensional con la información requerida (llamado ROL). Para un árbol de profundidad h, se necesita un arreglo de largo 2h+2. La raíz se guarda en ROL[1] Si un nodo n está en ROL[i] entonces: su hijo izquierdo va en ROL[2*i] su hijo derecho va en ROL[2*i+1] 189 a b c d e f g h i j k 1 a 2 b 3 c 4 d 5 e 6 f 7 g 8 9 h 10 11 i 12 13 j 14 15 k 190 Limitaciones de los árboles binarios Limitaciones de los árboles binarios menudo se usan árboles binarios de búsqueda para ordenar listas de valores, minimizando el número de lecturas, y evitando tener que ordenar dichas listas. Pero este tipo de árboles tienen varias desventajas: Es difícil construir un árbol binario de búsqueda perfectamente equilibrado. El número de consultas en el árbol no equilibrado es impredecible. Y además el número de consultas aumenta rápidamente con el número de registros a ordenar. Para evitar estos inconvenientes se usan árboles-, sobre todo cuando se ordenan ficheros, donde se ha convertido en el sistema de indexación más utilizado. 191 192 4

Árboles Árboles lgoritmo desarrollado en 1972 por por Rudolf ayer y Eduard M. Mcreight. La letra no significa "binario", ya que: Los árboles- nunca son binarios. Y tampoco es porque sean árboles de búsqueda, ya que en inglés se denominan -trees. Tampoco es porque sean balanceados, ya que no suelen serlo. Los árboles son índices multi-nivel que resuelven los problemas de la inserción y borrado de registros y se basan en dos reglas: Permitir que los registros índice no estén llenos No mover índices de un registro a otro cuando está lleno. En su lugar, dividir en dos el registro. uando dos registros están muy vacíos, unirlos en uno solo. 193 194 Árboles Árboles Las características que debe cumplir un árbol- son: Un parámetro muy importante en los árboles- es el ORDEN (m). El orden de un árbol- es el número máximo de claves (valores) que puede almacenar un nodo. Si n es el número de claves presentes en un nodo de un árbol-b, dicho nodo debe contener n+1 ramas (o enlaces a otros nodos). Ejemplo de un árbol de orden 4 y profundidad 2: 10 20 El árbol está ordenado. Todos los nodos terminales (nodos hoja), están en el mismo nivel. 5 9 12 18 25 65 92 98 El número máximo de claves por nodo es m. El número mínimo de claves por nodo es m/2, excepto la raíz La profundidad (h) es el número máximo de consultas para encontrar una clave. 195 196 5

Árboles + Árboles + Los árboles + constituyen otra mejora sobre los árboles, pues conservan la propiedad de acceso aleatorio rápido y permiten además un recorrido secuencial rápido. En un árbol + todas las claves se encuentran en hojas, duplicándose en la raíz y nodos interiores aquellas que resulten necesarias para definir los caminos de búsqueda. Para facilitar el recorrido secuencial rápido las hojas se pueden vincular, obteniéndose de esta forma una trayectoria secuencial para recorrer las claves del árbol. 197 198 6