Árboles Binarios de Búsqueda (ABB)

Slides:



Advertisements
Presentaciones similares
ÁRBOLES BINARIOS DE BUSQUEDA
Advertisements

Árboles Binarios Estructuras de Datos.
Árboles Binarios de Búsqueda (ABB)
A YUDANTÍA 5: A RBOLES Carlos Pulgar R. Mail: Página Ayudantía:
Búsqueda binaria Integrantes: Humberto Raíz Walter Gómez Isabel Hernández.
L ISTAS ENLAZADAS M.IA. Daniel Alejandro García López.
INSTITUTO TECNOLÓGICO SUPERIOR DE FELIPE CARRILLO PUERTO. MATERIA: Estructura De Datos TIPO: Presentación (Unidad 3 Estructura lineales ) DOCENTE: MTL.
Cuando el número de posibles resultados de un experimento es finito, su espacio muestral es finito y su cardinal es un número natural. Si el experimento.
Periodo II Técnicas de programación. Sin Parámetros Con parámetros Funciones.
Programación lógica funcional Árboles Binarios.  El siguiente trabajo trata sobre la estructura de datos no lineales llamada árbol. Esta estructura se.
Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos.
Búsqueda Binaria Castillo Soria Luis Fernando Méndez Tinajero Armando Pérez Ramos Susana.
Internet Protocols (IPs)
SISTEMAS NUMERICOS ING. SUSANA BELTRAN.
ONDAS ESTACIONARIAS EN CUERDAS.
REFORZAMIENTO EN MATEMÁTICAS
Árboles binarios. Algoritmos básicos
Universidad Autónoma del Estado de México
Tema 3 Árboles. Conceptos Generales. Curso 2014/2015 ETSISI UPM.
Métodos para resolver sistema de ecuaciones de primer grado 3x3
Montículos Binarios (Binary Heaps)
Árboles Binarios * Recorridos * Tipo
TAD’s ARBOLES GENERALIZADOS
Tema 4 Árboles Prof. Oscar Adolfo Vallejos.
Estructuras de Datos MC Beatriz Beltrán Martínez Primavera 2016
Listas enlazadas particulares
Listas Dinámicas.
Unidad 2. Algoritmos Unidad 4. Control de flujo
Universidad Nacional de Loja
Antidiferenciación A la operación inversa de la diferenciación se le llama antidiferenciación. El procedimiento que implica a la antidiferenciación,
Introducción a las estructuras de datos
Á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,
CAPACIDAD DE DETECCION Y CORRECCION DE ERRORES
Á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.
Sistemas Numéricos 1. Introducción 2. Sistema de Numeración Decimal
Estructuras de Datos MC Beatriz Beltrán Martínez Primavera 2018
ABSTRACCION DE DATOS   Estructura de Datos Básicos: En programación una estructurad de datos, es una forma particular de organizar datos en una computadora.
Arboles M.C. José Andrés Vázquez FCC/BUAP
Estructuras de Datos MC Beatriz Beltrán Martínez Primavera 2018
Árboles (Trees) Árboles Árboles binarios Recorridos de árboles
Actividad de Apertura Trace los grafos de todos los árboles no isomorfos con seis vértices.
GRAFOS ESTRUCTURAS DE DATOS.
Estructura de Datos M.C. J. Andrés V. F. FCC/BUAP
MÉTODO DE MÍNIMO COSTO DANIELA NARANJO LAURA RUBIO RENGIFO
Arboles M.C. José Andrés Vázquez FCC/BUAP
TEMAS *Arboles Binarios *listas Abiertas y Cerradas - Inserción - Recorrido - Eliminación *Pilas - Concepto - Inserción - Recorrido -
Listas ligadas Dra. María de Lourdes López García
Estructuras de Datos MC Beatriz Beltrán Martínez Primavera 2018
Operaciones combinadas
2/22/2019 RAICES MÉTODO DE BISECCIÓN.
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.
Árboles Binarios Estructuras de Datos.
CAPACIDAD DE DETECCION Y CORRECCION DE ERRORES
Nelson Baloian, José A. Pino
Árboles Binarios Recorridos.
Algoritmo de eliminacion gaussiana con pivoteo escalado de columna
Funcionalidad de Búsqueda
Á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.
Departamento de Ingeniería de Sistemas e Industrial
PROBABILIDAD Y TÉCNICAS DE CONTEO
M.C. José Andrés Vázquez Flores
ALGORITMO DE ORDENAMIENTO POR BURBUJA. El método de la burbuja es uno de los mas simples, es tan fácil como comparar todos los elementos de una lista.
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.
Ordenación Por Inserción
UNIVERSIDAD AÚTONOMA DE SINALOA “Facultad de Informática Culiacán”
Transcripción de la presentación:

Árboles Binarios de Búsqueda (ABB) ABB = Árbol binario ordenado según uno o más criterios Cada nodo tiene dos hijos: el subárbol izquierdo es el árbol vacío o es un subárbol que contiene nodos cuya clave es menor que la suya el subárbol derecho es el árbol vacío o es un subárbol que contiene nodos cuya clave es mayor que la suya ¿Cuál de estos dos árboles binarios de enteros es un ABB? 7 7 4 9 4 9 8 8 Estructura de Datos II

TAD ABB: inserción Los nodos se insertan siempre como nodos hoja El algoritmo de inserción garantiza para cada nodo del árbol que: - Su subárbol izquierdo contiene claves menores - Su subárbol derecho contiene claves mayores Funcionamiento: - Si el árbol estuviera vacío, se inserta el nodo en la raíz . Si no, se va recorriendo el árbol: En cada nodo se decide si hay que insertar a la derecha o la izquierda. Si el subárbol en que hay que insertar es vacío, se inserta el nuevo elemento. Si el subárbol en que hay que insertar no es vacío hay que recorrerlo hasta encontrar el lugar que le corresponde al nodo en ese subárbol. - Es un algoritmo recursivo. Estructura de Datos II

TAD ABB: Ejemplo de inserción Insertar 8, 5, 1, 20, 12, 6, 4 8 Insertar 8 5 Insertar 5 20 Insertar 20 1 Insertar 1 6 Insertar 6 12 Insertar 12 4 Insertar 4 Estructura de Datos II

TAD ABB: Ejemplo de borrado Borrar 8 Sustituir por 6 Sustituir por 12 Estructura de Datos II

TAD ABB: Ejemplo de borrado Borrar 1 Borrar 20 Borrar 5 Borrar 1 Borrar 20 Borrar 5 Estructura de Datos II

ÁRBOLES BINARIOS DE BUSQUEDA El árbol binario de búsqueda es una estructura sobre la cual se pueden realizar eficientemente las operaciones de búsqueda, inserción y eliminación. En las listas, las operaciones de inserción y eliminación se pueden llevar a cabo con facilidad, sin embargo la búsqueda es una operación bastante costosa que incluso nos puede llevar a recorrer todos los elementos de ella para localizar uno en particular. Estructura de Datos II

Definición de Árbol binario de Búsqueda Para todo nodo T del árbol debe cumplirse que todos los valores de los nodos del subárbol izquierdo de T deben ser menores al valor del nodo T. De forma similar, todos los valores de los nodos del subárbol derecho de T deben ser mayores al valor del nodo T. Es aquel en el que el hijo de la izquierda (si existe) de cualquier nodo contiene un valor más pequeño que el nodo padre, y el hijo de la derecha (si existe) contiene un valor más grande que el nodo padre. Estructura de Datos II

También es posible observar que si se efectúa un recorrido inorden sobre un árbol de búsqueda se obtendrá una clasificación de los nodos en forma ascendente. El recorrido inorden del árbol de la figura anterior produce el siguiente resultado: 22-43-56-65-87-93-99-120-130-135-140 Estructura de Datos II

INSERCIÓN EN UN ÁRBOL BINARIO DE BÚSQUEDA La inserción es una operación que se puede realizar eficientemente en un árbol binario de búsqueda. La estructura crece conforme se inserten elementos al árbol. Los pasos que deben realizarse para insertar un elemento a un árbol binario de búsqueda son los siguientes: Debe compararse la clave a insertar con la raíz del árbol. Si es mayor, debe avanzarse hacia el subárbol derecho. Si es menor, debe avanzarse hacia el subárbol izquierdo. Repetir sucesivamente el paso 1 hasta que se cumpla alguna de las siguientes condiciones: 2.1 EL subárbol derecho es igual a vacío, o el subárbol izquierdo es igual a vació; en cuyo caso se procederá a insertar el elemento en el lugar que le corresponde. 2.2 La clave que quiere insertarse es igual a la raíz del árbol; en cuyo caso no se realiza la inserción. Estructura de Datos II

Ejemplo Supóngase que quieren insertarse las siguientes claves en un árbol binario de búsqueda que se encuentre vacío: claves: 120-87 - 43-65-140-99- 130-22-56 Los resultados parciales que ilustran cómo funciona el procedimiento se presentan en las figuras que siguen: Estructura de Datos II

Inserción : clave 120 clave 87 clave 43 clave 65 Estructura de Datos II

Nota: Las líneas gruesas indican el elemento que acaba de insertarse. Inserción: Clave 22 Clave 56 Nota: Las líneas gruesas indican el elemento que acaba de insertarse. Estructura de Datos II

BORRADO EN UN ÁRBOL BINARIO DE BÚSQUEDA La operación de borrado es un poco más complicada que la de inserción. Ésta consiste en eliminar un nodo del árbol sin violar los principios que definen justamente un árbol binario de búsqueda. Se debe distinguir los siguientes casos: Si el elemento a borrar es terminal u hoja, simplemente se suprime. Si el elemento a borrar tiene un solo descendiente, entonces tiene que sustituirse por ese descendiente. Si el elemento a borrar tiene los dos descendientes, entonces se tiene que sustituir por el nodo que se encuentra más a la izquierda en el subárbol derecho o por el nodo que se encuentra más a la derecha en el subárbol izquierdo. Además, debemos recordar que antes de eliminar un nodo, debe localizársele en el árbol. Para esto, se utilizará el algoritmo de búsqueda. Estructura de Datos II

Ejemplo: Supóngase que se desea eliminar las siguientes claves del árbol binario de búsqueda de la figura anterior: claves: 22 - 99 - 87 - 120 - 140 - 135 – 56 Los resultados parciales que ilustran cómo funciona el procedimiento se presentan en las figuras que siguen: Estructura de Datos II

Nota: Las flechas indican el elemento que quiere eliminarse. ELIMINACIÓN: CLAVE 22 ELIMINACIÓN: CLAVE 99 a) b) Nota: Las flechas indican el elemento que quiere eliminarse. a) y f) corresponden al primer caso Estructura de Datos II

Eliminación en un árbol binario de búsqueda. ELIMINACIÓN: CLAVE 87 d) c) Eliminación en un árbol binario de búsqueda. b) y c) corresponden al segundo caso; c) y d) corresponden al tercer caso. g) Estado final del árbol. Estructura de Datos II

ELIMINACIÓN: CLAVE 140 ELIMINACIÓN: CLAVE 135 - 56 f) g) e) Estructura de Datos II

Estructura de Datos II

Estructura de Datos II

Estructura de Datos II

Estructura de Datos II

Estructura de Datos II

Estructura de Datos II

Estructura de Datos II

Estructura de Datos II

Estructura de Datos II

Estructura de Datos II

Estructura de Datos II

Estructura de Datos II

Estructura de Datos II

Estructura de Datos II