4.1 Concepto de árbol.
|
|
|
- Ángeles Muñoz Espinoza
- hace 8 años
- Vistas:
Transcripción
1 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página Concepto de árbol. Una estructura de árbol es una forma de representar la JERARQUÍA de ciertos objetos en una forma gráfica. Se le llama árbol porque la gráfica se asemeja un poco a un árbol natural, aunque, a diferencia de en la naturaleza, estas estructuras jerárquicas crecen hacia abajo, es decir, la raíz se encuentra arriba y las hojas en la parte inferior. Ejemplo: El organigrama de una empresa.
2 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 2 180º 4.1.1
3 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 3 Clasificación de árboles. En la teoría computacional, los árboles tienen diversos usos. La clasificación que nos interesa, por ahora, es la relativa al número de nodos a que puede apuntar otro nodo y al grado de eficiencia que puede aportar un árbol para la búsqueda de datos almacenados en él. Arboles Binarios Cada nodo solo puede apuntar a otros 2 nodos como máximo No Binarios Cada nodo puede apuntar a cualquier cantidad de nodos Balanceados Garantiza cierto grado de eficiencia durante su operación Desbalanceados Balanceados Garantiza cierto grado de eficiencia durante su operación Desbalanceados
4 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 4
5 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página Arboles Binarios. Operaciones Básicas. Si se desea localizar cierto dato en una lista lineal ordenada MUY GRANDE, el proceso puede tomar mucho tiempo. Las estructuras NO LINEALES incluyen más de una ruta para organizar los datos. Por lo tanto las búsquedas sobre estructuras NO LINEALES requieren menos tiempo. Los Árboles Binarios son estructuras NO LINEALES, y se implementan en memoria dinámica, son NO SECUENCIALES.
6 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 6 Una aplicación de los árboles, es la Búsqueda. Significa que se conservan en los nodos del árbol datos únicos (Llaves de Identificación), para fines, entre otros, de localización rápida. Los nodos de un Árbol Binario de Búsqueda pueden apuntar a otros dos, uno que le precede en la lista y otro que le sucede.
7 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 7 Comparación: LISTA ENCADENADA DOBLE ORDENADA Apuntador al Nodo Predecesor Inmediato (El dato menor más cercano de toda la lista). Apuntador al Nodo Sucesor Inmediato (El dato mayor más cercano de toda la lista). ARBOL BINARIO DE BUSQUEDA Apuntador al Nodo IZQUIERDO (Cualquiera de los datos de la lista que sea Menor). Apuntador al Nodo DERECHO (Cualquiera de los datos de la lista que sea Mayor).
8 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 8 Cabeza de Lista A D Figura lógica obtenida de una lista encadenada ordenada doble si entran los siguientes datos: M R D G H A Y G H M Último de Lista R Y
9 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 9 Cabeza de Lista A Figura lógica obtenida de una lista encadenada ordenada doble si los siguientes datos entran en el orden indicado: F B D G C A E B C Si los datos entraran en este otro orden: D B F C G A E Cuál será la figura lógica obtenida? D E F G Último de Lista
10 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 10
11 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 11 Si los datos F B D G C A E se guardan en un árbol binario de BUSQUEDA, la figura lógica resultante sería como la siguiente: Raíz A B D F G Cada nodo apunta a un dato menor por la izquierda. Cada nodo apunta a un dato mayor por la derecha. Se requiere un apuntador al primer nodo de la lista (RAIZ). C E
12 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 12 Si los datos entrasen en el siguiente orden: D B F C G A E la forma lógica resultante sería: Raíz D B F A C E G
13 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 13 Cuántos nodos se deben visitar para encontrar el dato G? En un árbol: 3 En una lista encadenada: 7 Si se construye un árbol COMPLETO (todos los niveles con el número máximo de nodos) con 1023 datos.. Cuántos nodos en promedio se visitarán suponiendo que se hacen 1023 búsquedas, cada vez un dato distinto y todos existen? En una lista encadenada: 512 En un árbol: 9.01
14 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 14 Vocabulario Básico RAIZ Por ahora, el primer nodo que entró al árbol. HIJO Nodo apuntado por otro. Si está apuntado por la izquierda es hijo izquierdo, si es por la derecha, es hijo derecho. SUBARBOL. Los descendientes de un nodo por la izquierda o por la derecha. PADRE Nodo que apunta a uno o dos nodos. ANTEPASADO. Nodo que es padre o ANTEPASADO del padre de otro nodo. DESCENDIENTE. Nodo que es hijo o DESCENDIENTE de un hijo de otro nodo. HOJA. Nodo sin hijos. HERMANOS. Nodos con el mismo padre. NIVEL. Distancia de un nodo desde la raíz. Nivel de la raíz = 0. Número máximo de nodos en el nivel n es 2 n.
15 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 15 IZQ(P) Dirección del hijo izquierdo del nodo de la dirección P. P Nomenclatura. En los algoritmos que estudiaremos se usará la siguiente nomenclatura de las partes de un nodo: INFO(P) El dato almacenado en el nodo de la dirección P. DER(P) Dirección del hijo derecho del nodo de la dirección P.
16 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página Creación e Inserción en Arboles Binarios de Búsqueda. Todos los árboles inician vacíos. Para crear un árbol solo se requiere una variable apuntador que señale a un árbol nulo (FIN DE LISTA) Es más sencillo analizar el problema de inserción de datos, suponiendo que el árbol ya tiene nodos y considerar posteriormente los posibles casos especiales. Cuando se quiere añadir nuevos nodos a una lista hay que hacer una búsqueda. La búsqueda en un ABB consiste en mover un apuntador a la izquierda o a la derecha hasta encontrar el valor deseado.
17 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 17 El algoritmo siguiente muestra ese proceso de búsqueda. Temp RAIZ MIENTRAS INFO(Temp) <> VALOR BUSCADO SI VALOR > INFO(Temp) Temp DER(Temp) DE LO CONTRARIO Temp IZQ(Temp) FIN SI FIN MIENTRAS Este algoritmo deberá adecuarse a las características de cada proceso de búsqueda particular: Generalmente se requiere una búsqueda cuando se va a añadir un nuevo dato. Se requiere una búsqueda si que quiere conocer alguno de los datos de un nodo. Puede haber muchos datos en un nodo, correspondientes a una persona por ejemplo, sin embargo el que determina su lugar en el árbol, solo es uno de ellos y se le llama LLAVE.
18 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 18 Si se quiere eliminar un nodo, primero hay que localizarlo. En un ABB cada nuevo nodo se añade como una HOJA, por lo tanto hay que adecuar el algoritmo de arriba para buscar un sub-árbol NULO dentro del árbol mientras se viaja por él. Construyamos un ABB con las llaves: H Q M K A F O en ese orden Estado Inicial Raíz Raíz Raíz H H Q
19 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 19 Raíz Raíz H H Q Q M M K
20 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 20 Raíz Raíz H H A Q A Q M F M K K
21 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 21 Raíz H A Q F M K O
22 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 22 Procesos a efectuar durante altas de datos a un ABB: 1. Crear un nodo para el nuevo dato. 2. Buscar el lugar donde insertarlo. 3. Colocar el apuntador al nuevo nodo. 1 IZQ(NuevoNodo) FIN DER(NuevoNodo) FIN INFO(NuevoNodo) VALOR (NuevoNodo es la dirección proporcionada por el Sistema Operativo para un nuevo nodo)
23 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 23 2 Temp RAIZ PadreNN FIN MIENTRAS Temp <> FIN PadreNN Temp SI INFO(NN) > INFO(Temp) Temp DER(Temp) DE LO CONTRARIO Temp IZQ(Temp) FIN SI FIN MIENTRAS (PadreNN es la dirección que será el Padre del Nuevo Nodo)
24 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 24 3 SI PadreNN = FIN RAIZ NN DE LO CONTRARIO SI INFO(NN) > INFO(PNN) DER(PadreNN) NN DE LO CONTRARIO IZQ(PadreNN) NN FIN SI FIN SI
25 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 25 EJERCICIO: Escriba un programa, usando manejo dinámico de memoria, que guarde en cada nodo de un árbol, el Número de Control y el nombre de un alumno, usando el siguiente algoritmo: Mostrar un menú con las siguientes opciones (use el algoritmo descrito): 1.- Altas a) Pedir al usuario que escriba el Número de Control de un alumno. b) En caso que exista en el árbol ese Número de Control, el programa debe mostrar un mensaje indicando que se no se puede dar de alta de nuevo (se debe mostrar el nombre de la persona a la que corresponde ese número de control). c) Si no existe, el programa pedirá al usuario que escriba el nombre del alumno que se va a dar de alta. d) Ya con ambos datos, se busca el lugar adecuado para el nuevo nodo en el árbol (de acuerdo a los algoritmos estudiados) y se enlaza.
26 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página Consultas a) Pedir al usuario que escriba el Número de Control de un alumno. b) Se buscará dentro del árbol ese Número de Control. c) En caso de que no exista en el árbol, se indicará con un mensaje. d) En caso de que se encuentre, el programa debe mostrar el nombre del alumno al que corresponde el Número de Control y los siguientes datos técnicos: El nivel en el que está el nodo. El número de Control del nodo que es su padre (si se trata de la raíz, como no tiene padre, hay que indicarlo). Los Números de Control del (de los) nodo(s) hijos (indicando cuál es el izquierdo y cual el derecho, en caso de que no tenga ninguno indicar que es una hoja). Estos datos no serían de interés para un usuario común de este programa, se incluyen como medio de aprendizaje. 3.- Fin Observaciones: El Número de Control es el dato que determina el orden en el árbol, el nombre es un dato adicional. Los datos que se piden en la opción de consulta, no son de interés para un usuario común del programa, solo servirán al programador para que pueda comprobar que la organización lógica de los datos corresponde con la teoría que se ha estudiado.
27 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página Eliminación en Arboles Binarios de Búsqueda Es evidente que es más complejo eliminar un nodo con 2 hijos que una hoja Por lo que conviene desglosar el problema en 3 casos: 1. Eliminar una hoja 2. Eliminar un nodo que tiene solo un hijo 3. Eliminar un nodo que tiene 2 hijos 1. Supresión de una hoja Procedimiento muy simple. Hay que colocar el apuntador de su padre en FIN DE LISTA. Deshacerse del nodo ya eliminado.
28 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 28 Estado original de cierto ARBOL o SUB-ARBOL: D B F Al eliminar la F, el sub-árbol resultante será: D N U L L B F Nodo que se desechará
29 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página Supresión de un nodo con un hijo No se puede usar el algoritmo anterior porque se perderían los descendientes del nodo que se elimina. Estado original de cierto ARBOL o SUB-ARBOL: D B F C E G Cómo quedará el árbol al eliminar la B?
30 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 30 El padre del nodo que se elimina señalará al único hijo de éste último. D Nodo que se desechará B C E F G El sub-árbol con la raíz C sube un nivel. D C F E G
31 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página Supresión de un nodo con dos hijos Caso más complejo que el anterior porque no se puede hacer que un nodo apunte a otros dos por la izquierda o la derecha. El método más común para resolver este caso es sustituir información. Se reemplazará el dato que se quiere eliminar con el dato más cercano del subárbol izquierdo (equivalente al predecesor inmediato). Cómo se encuentra el predecesor inmediato? Se viaja (a partir del nodo a eliminar) una vez a la izquierda y luego tantas veces como se pueda hacia la derecha. Ya encontrado el dato sustituto, se coloca en el lugar del nodo a eliminar, y el nodo del dato sustituto se elimina (solo tendrá un hijo como máximo).
32 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 32 M D R B F P V A C E G N Q T Z Ejemplo: Eliminar la R Se reemplazará la información del nodo que contiene la R por el predecesor inmediato, es decir la Q, luego el nodo que contenía la Q deberá ser eliminado.
33 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 33 M D Q B F P V A C E G N Q T Z Nodo que se elimina
34 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 34 M D Q B F P V A C E G N T Z Ejemplo: Eliminar la Q Se reemplazará la información del nodo que contiene la Q por el predecesor inmediato, es decir la P, luego el nodo que contenía la P deberá ser eliminado.
35 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 35 M D P B F P V A C E G N T Z Nodo que se elimina
36 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 36 Algoritmos: P PADRE = dirección del nodo a eliminar. = dirección del padre del nodo a eliminar. PROCEDIMIENTO SUPRIME_NODO(P) SI IZQ(P)=FIN Y DER(P)=FIN EJECUTA PROCEDIMIENTO CASO_1 DE LO CONTRARIO SI IZQ(P)<>FIN Y DER(P)<>FIN EJECUTA PROCEDIMIENTO CASO_3 DE LO CONTRARIO EJECUTA PROCEDIMIENTO CASO_2 FIN SI FIN SI Una vez ejecutado el algoritmo anterior, se sabrá cuantos hijos tiene el nodo a eliminar.
37 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 37 CASO 1 Hay que determinar si el nodo a eliminar es hijo izquierdo o derecho de su padre. PROCEDIMIENTO CASO_1(P, PADRE) SI IZQ(PADRE)=P IZQ(PADRE) FIN DE LO CONTRARIO DER(PADRE) FIN FIN SI Adecue este algoritmo para verificar si el nodo a eliminar es la RAIZ, porque en tal caso no hay un nodo PADRE.
38 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 38 CASO 2 Hay que determinar si el nodo a eliminar es hijo izquierdo o derecho de su padre y si el único hijo que tiene es izquierdo o derecho PROCEDIMIENTO CASO_2(P,PADRE) SI IZQ(P)<>FIN SI IZQ(PADRE)=P IZQ(PADRE) IZQ(P) DE LO CONTRARIO DER(PADRE) IZQ(P) FIN SI DE LO CONTRARIO SI IZQ(PADRE)=P IZQ(PADRE) DER(P) DE LO CONTRARIO DER(PADRE) DER(P) FIN SI FIN SI Se debe adecuar este algoritmo para verificar si el nodo a eliminar es la RAIZ, porque en tal caso no hay un nodo PADRE.
39 Apuntes Estructura de Datos Autor: Ing. Felipe Alanís González Página 39 P_SUST PADRE_SUST PROCEDIMIENTO CASO_3(P) PADRE_SUST P P_SUST IZQ(P) MIENTRAS DER(P_SUST) <> FIN PADRE_SUST P_SUST P_SUST DER(P_SUST) FIN MIENTRAS INFO(P) INFO(P_SUST) CASO 3 = Dirección del nodo sustituto = Dirección del Padre del Nodo Sustituto. SI PADRE_SUST = P IZQ(PADRE_SUST) IZQ(P_SUST) DE LO CONTRARIO DER(PADRE_SUST) IZQ(P_SUST) FIN SI
Estructura de datos y algoritmos. Tema V TDA DINÁMICOS NO LINEALES: Árboles: árboles binarios
Estructura de datos y algoritmos Tema V TDA DINÁMICOS NO LINEALES: Árboles: árboles binarios TEMA V : TIPOS DE DATOS ABSTRACTOS NO LINEALES: ÁRBOLES 5.1 Conceptos y definiciones 5.2 Árboles perfectamente
Árboles B y B ) 20. Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 63
y B + 3.8 y B+! Problema de los ABB cuando se usa almacenamiento secundario:! la búsqueda de un elemento requeriría muchos accesos a disco (un acceso a disco es extremadamente lento si lo comparamos con
ESTRUCTURA DE DATOS. ABB Arboles de Búsqueda Binaria
ESTRUCTURA DE DATOS ABB Arboles de Búsqueda Binaria ÁRBOLES BINARIOS Hasta ahora nos hemos dedicado a estudiar TAD que de una u otra forma eran de naturaleza lineal, o unidimensional. En los tipos abstractos
Tema 10: Árbol binario de búsqueda
Tema 10: Árbol binario de búsqueda M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom (Prof. Edgardo A. Franco) 1 Contenido Árbol binario de
Estructura de Datos Unidad 6: ARBOLES
Estructura de Datos Unidad 6: ARBOLES A. CONCEPTO DE ARBOL B. TIPOS DE ARBOL C. ARBOL BINARIO D. IMPLEMENTACION DE UN ARBOL BINARIO E. PROYECTO Introducción En ciencias de la informática, un árbol es una
Capítulo 8. Árboles. Continuar
Capítulo 8. Árboles Continuar Introducción Uno de los problemas principales para el tratamiento de los grafos es que no guardan una estructura establecida y que no respetan reglas, ya que la relación entre
Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS
Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS TEMA 4. - La Estructura de datos Árbol 4.1. Árboles, definiciones 4.2 Árboles binarios y su representación 4.3 Operaciones básicas de un árbol binario
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Introducción Un árbol es una estructura no lineal en la que cada nodo puede apuntar a uno o varios nodos. A B C D E F G H I J K Clasificación con respecto a su relación: Nodo hijo: cualquiera de los nodos
Análisis y Complejidad de Algoritmos. Arboles Binarios. Arturo Díaz Pérez
Análisis y Complejidad de Algoritmos Arboles Binarios Arturo Díaz Pérez Arboles Definiciones Recorridos Arboles Binarios Profundidad y Número de Nodos Arboles-1 Arbol Un árbol es una colección de elementos,
Tema 08: TAD Árbol. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom
Tema 08: TAD Árbol M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom (Prof. Edgardo A. Franco) 1 Contenido Descripción del TAD Árbol Especificación
Un árbol binario T se define como un conjunto finito de elementos, llamados nodos, de forma que:
Instituto Universitario de Tecnología Industrial Rodolfo Loero Arismendi I.U.T.I.R.L.A. ÁRBOLES Sección 3DA Asignatura: Estructura de Datos Lenguaje (C). Ciudad Bolívar _ abril_ 2006. Introducción El siguiente
Estructura de Datos. Estructuras de Datos no lineales : Árboles
Estructura de Datos Estructuras de Datos no lineales : Árboles Definiciones de Árbol En términos matemáticos, un árbol es cualquier conjunto de puntos, llamados vértices, y cualquier conjunto de pares
Introducción a Árboles Árboles Binarios
Introducción a Árboles Árboles Binarios Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Introducción a Árboles Estructuras hasta ahora Estructuras
Estructuras de Datos II
Estructuras de Datos II Segundo Parcial Los árboles B+ son estructuras de datos jerárquicas que se utilizan para almacenar y manipular datos ordenados de forma muy eficiente, ya que por su estructura y
Introducción a los árboles. Lección 11
Introducción a los árboles Lección 11 Árbol: Conjunto de elementos de un mismo tipo, denominados nodos, que pueden representarse en un grafo no orientado, conexo y acíclico, en el que existe un vértice
Estructura de Datos. Árboles Binarios de Búsqueda ABB. Primer Semestre, 2010
Estructura de Datos Árboles Binarios de Búsqueda ABB Prof.: Mauricio Solar Prof.: Lorna Figueroa Primer Semestre, 20 1 Arboles de Búsqueda Binaria El árbol binario de búsqueda (ABB) toma su nombre del
PRÁCTICA No. 9 RECORRIDOS EN ÁRBOLES BINARIOS
INSTITUTO POLITÉCNICO NACIONAL SECRETARIA ACADÉMICA DIRECCIÓN DE EDUCACIÓN SUPERIOR ESIME CULHUACAN NOMBRE ALUMNO: 1. Objetivo PRÁCTICA No. 9 RECORRIDOS EN ÁRBOLES BINARIOS El alumno comprenderá y aplicara
Estructuras de Datos. 8.6 Árboles B. Supongamos que los nodos de un árbol deben ser guardados en un medio de almacenamiento secundario (disco).
132 El grado de ocupación de una tabla hash se determina mediante el factor de carga, que es la fracción ocupada de la tabla y es un número que está entre 0 y 1 si está vacía o llena respectivamente. Ejercicio:
Estructura de Datos. Listas Enlazadas
Estructura de Datos Listas Enlazadas Conceptos de Lista enlazada Una lista enlazada es una secuencia de nodos que se interconectan mediante sus campos de enlace. Nodo: un objeto creado desde una clase
Árboles. Árboles. Árboles binarios de búsqueda. Árboles. Inserción en un árbol. Árbol binario de búsqueda
Árboles Árboles Mario Medina C. [email protected] Árboles Estructura recursiva Árbol vacío 0 o más árboles hijos Altura ilimitada Árbol binario A lo más dos hijos: izquierdo y derecho Árboles Árboles
Árboles n-arios de búsqueda. Lección 16
Árboles n-arios de búsqueda Lección 16 Definiciones Los árboles n-arios de búsqueda (árboles de búsqueda múltiples o multicamino) son árboles de grado n definidos de la forma: si el árbol A es vacío, entonces
Estructura de Datos Árboles Árboles 2-3
Estructura de Datos Árboles 1-2-3 Árboles 2-3 Prof.: Mauricio Solar Prof.: Lorna Figueroa Primer Semestre, 2010 1 Arboles 1-2-3 Árbol n-ario ordenado de orden 3 Cada nodo tiene 1 ó 2 elementos 75 Nodo
Estructura de datos y de la información Boletín de problemas - Tema 10
Estructura de datos y de la información Boletín de problemas - Tema 10 1. En el caso de que sea posible, dar un ejemplo de los siguientes puntos. Si no, explicar por qué no lo es. Considerar un valor genérico
Estructuras de datos: Árboles binarios de
Estructuras de datos: Árboles binarios de búsqueda, Facultad de Informática Universidad de A Coruña Table of Contents Árboles binarios de búsqueda 1 Árboles binarios de búsqueda 2 Table of Contents Árboles
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.
Programación IV. Guía No. 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Tema: Arboles en C#. Objetivos Específicos Definir el concepto de la estructura de datos Árbol. Implementar
Ejercicios del Tema 3 Estructuras jerárquicas: Árboles
ALGORITMOS Y ESTRUCTURAS DE DATOS II Ingeniería Técnica en Informática de Gestión Ingeniería Técnica en Informática de Sistemas Ejercicios del Tema 3 Estructuras jeráruicas: Árboles Árboles n-arios 1.
Estructuras Dinámicas de datos.
Estructuras Dinámicas de datos. Las estructuras dinámicas de datos son estructuras que crecen a medida que ejecuta un programa. Una estructura dinámica de datos es una colección de elementos llamadas nodos
Definición recursiva de los árboles
Árboles Un árbol es una estructura de datos jerarquizada ada dato reside en un nodo, y existen relaciones de parentesco entre nodos: padre, hijo, hermano, ascendiente, descendiente, etc. Ejemplo: apítulos
Á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.
ÁRBOLES Árboles Un grafo conectado que no contiene circuitos simples. Utilizados desde 1857, por el matemático Ingles Arthur Cayley para contar ciertos tipos de componentes químicos. Un árbol es un grafo
A l g o r i t m o y E s t r u c t u r a d e D a t o s Ing. en Sistemas de Información - 1º año -
Trabajo práctico Nº 7 (Resolución de problemas Estructura: pila y cola). Realiza el programa de cada situación problemática. 1- Cargar en una pila n letras del abecedario.(n debe ser menor a 30) 2- En
12/08/2017 AVL. Especificación sobre árboles AVL. AVL: rotaciones
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
Capítulo 6. ÁRBOLES.
67 Capítulo 6. ÁRBOLES. 6.1 Árboles binarios. Un árbol binario es un conjunto finito de elementos, el cual está vacío o dividido en tres subconjuntos separados: El primer subconjunto contiene un elemento
Definición: NODO Un nodo es un punto de intersección o unión de varios elementos que confluyen en el mismo lugar.
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.
Definiciones: conjuntos, grafos, y árboles. Agustín J. González ELO 320: Estructura de Datos y Algoritmos. 2002
Definiciones: conjuntos, grafos, y árboles Agustín J. González ELO 320: Estructura de Datos y Algoritmos. 2002 1 Conjuntos (sets) y Grafos (graphs) Un Conjunto es una colección de objetos distintos. No
TEMA 3. Árboles. Objetivos. Contenidos. Bibliografía. Básica
TEMA 3. Árboles Objetivos En este tema se estudia una de las estructuras de datos no lineal más importante en computación, el árbol. Comenzaremos introduciendo la terminología asociada a los árboles y
Tema Árboles generales. 9.2 Árboles binarios 9.3 Árboles de búsqueda
Informática Haskell Matemáticas Curso 2004-2005 Pepe Gallardo Universidad de Málaga Tema 9. Árboles 9.1 Árboles generales 9.2 Árboles binarios 9.3 Árboles de búsqueda 9.1 Árboles generales Un árbol es
Árboles Binarios Ordenados Árboles AVL
Árboles Binarios Ordenados Árboles AVL Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Diseño e Implementación TAD Árbol Representación de árboles
Estructura de datos y algoritmos. Tema IV: TIPOS DE DATOS ABSTRACTOS DINÁMICOS LINEALES
Estructura de datos y algoritmos Tema IV: TIPOS DE DATOS ABSTRACTOS DINÁMICOS LINEALES TIPOS DE DATOS ABSTRACTOS DINÁMICOS LINEALES 4.1 Introducción 4.2 Ejemplos de TDA dinámicos lineales 4.3 Pilas 4.3.1
ESTRUCTURAS DE DATOS Y ALGORITMOS
ESTRUCTURAS DE DATOS Y ALGORITMOS CURSO 2009 PRÁCTICO 8 Nota: al igual que en los prácticos 6 y 7, en los problemas que siguen se usarán los tipos lista y árbol binario, como tipos abstractos, cada uno
Estructuras de Datos y Algoritmos
Estructuras de Datos y Algoritmos Tema 5.1. Árboles. Árboles binarios y generales Prof. Dr. P. Javier Herrera Contenido 1. Introducción 2. Terminología 3. Árboles binarios 4. Árboles generales Tema 5.1.
ÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES
ÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES ÁRBOL Un árbol es un grafo no dirigido, conexo, sin ciclos (acíclico), y que no contiene aristas
Estructura de datos Colas
Estructura de Datos Estructura de datos Colas Temario Unidad II 2.1 Definición y operaciones 2.2 Implementación estática 2.3 Implementación dinámica 2.4 Colas de prioridad 2.5 Casos de estudio 1 Definición
UNIDAD 8 Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros.
Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros. Procedimientos para asignación y liberación de memoria. Tipos de datos recursivos.
1.2.4 Listas enlazadas
1.2.4 Listas enlazadas Las listas enlazadas son tipos de datos dinámicos que se construyen con nodos. Un nodo es un registro con al menos, dos campos, uno de ellos contiene las componentes y se le denomina
Eliminación en un ABB
Eliminación en un El procedimiento para eliminar un nodo z de un árbol de búsqueda binaria tiene tres casos: aso 1: Si z no tiene hijos, se modifica su padre p[z] para reemplazar z con nil como su hijo.
Tema 4. Estructuras no lineales de datos: árboles
Fundamentos de Programación II Tema 4. Estructuras no lineales de datos: árboles Luís Rodríguez Baena ([email protected]) Universidad Pontificia de Salamanca (campus Madrid) Escuela Superior de
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.
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. No hay que confundir una dirección de memoria con el contenido
Clase adicional 9. Listas enlazadas. Temas. Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño
Clase adicional 9 Temas Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño Listas enlazadas Previamente en este curso, ya habrá trabajado con dos de las estructuras de datos
Guía práctica de estudio 07. Estructuras de datos lineales: Lista simple y lista circular.
Guía práctica de estudio 07. Estructuras de datos lineales: Lista simple y lista circular. Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez
A l g o r i t m o y E s t r u c t u r a d e D a t o s Ing. en Sistemas de Información - 1º año -
Trabajo práctico Nº 7 (Resolución de problemas Estructura: pila y cola). Realiza el programa de cada situación problemática. 1- Cargar en una pila n letras del abecedario.(n debe ser menor a 30) 2- En
Definición de árbol. Árboles
ÁRBOLES Árboles * Definición de árbol * Formas de representación * Nomenclatura sobre árboles * Árboles binarios * Declaración de árbol binario * Recorridos sobre árboles binarios * Construcción de un
Colas deprioridad y heaps
Colas deprioridad y heaps Colas de prioridad Numerosas aplicaciones Sistemas operativos, algoritmos de scheduling, gestión de colas en cualquier ambiente, etc. La prioridad en general la expresamos con
Árboles binarios. Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile
Árboles binarios Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile [email protected] Árbol: definición v Árbol (del latín arbor oris): Planta perenne,
Árboles balanceados (AVL) Tablas de dispersión (Hash) Colas de prioridad (Heap)
Práctico 4 Árboles balanceados (AVL) Tablas de dispersión (Hash) Colas de prioridad (Heap) Clasificación de ejercicios: (I) Imprescindibles (R) Recomendados (C) Complementarios Árboles balanceados (AVL)
Arboles Binarios de Búsqueda en C++
Arboles Binarios de Búsqueda en C++ por CCG/Mayo-2014 Tema de Arboles Binarios de Búsqueda, como un poco de teoría para su mejor entendimiento seguidamente mostrare la implementación en lenguaje de programación
Estructuras de Datos
108 Ejercicio: Genere el árbol binario de búsqueda para la siguiente secuencia de números: 8, 9, 11, 15, 19, 20, 21, 7, 3, 2, 1, 5, 6, 4, 13, 14, 10, 12, 17, 16, 18. Analice y describa lo que sucede durante
LISTAS ENLAZADAS FUNDAMENTOS TEORICOS
LISTAS ENLAZADAS FUNDAMENTOS TEORICOS Una lista enlazada es una colección o secuencia de elementos dispuestos uno detrás de otro, en la que cada elemento se conecta al siguiente elemento por un «enlace»
Estructuras de datos utilizando JAVA
1 Sistemas Expertos e Inteligencia Artificial / Guía II / Ciclo 01-2017 Centro de Investigación y Transferencia de Tecnología Estructuras de datos utilizando JAVA Facultad: Ingeniería Escuela: Computación
Matemáticas Discretas Tc1003 Teoría de Grafos
Definición. Sea A un grafo. A recibe el nombre de árbol sí y sólo si: A es conexo. A no contiene circuitos. Ejemplos: Definición. Sea A un árbol. Un vértice de grado 1 se llama una hoja. Un vértice de
Algoritmos y Programación II Curso 2006
Arboles: Un árbol es una colección de elementos, llamados nodos, uno de los cuales se distingue con el nombre de raíz. Los nodos mantienen entre ellos una relación que define una estructura jerárquica
Tema 14: ÁRBOLES Algoritmos y estructuras de datos I - Tema 14 1
Tema 14: ÁRBOLES Estructura Árbol Definición: Una estructura de árbol con tipo base Valor es: (i) Bien la estructura vacía. (ii) Un conjunto finito de uno o más nodos, tal que existe un nodo especial,
ÁRBOLES BINARIOS DE BÚSQUEDA
ÁRBOLES BINARIOS DE BÚSQUEDA Introducción Generalidades Definición Consultas a un ABB Introducción Búsqueda Mínimo y máximo Sucesor y predecesor Modificaciones a un ABB Introducción Inserción Eliminación
3.6. Árboles B DEFINICIONES
DEFINICIONES Un árbol B de orden m es un árbol m-camino de búsqueda que está vacío o satisface las siguientes propiedades: El nodo raíz tiene al menos una clave (o dos hijos) Todos los nodos interiores,
ASIGNATURA: (TIS-106) Estructuras de Datos II DOCENTE: Ing. Freddy Melgar Algarañaz TEMA 2. Árboles binarios
TEMA 2. Árboles binarios Los árboles binarios constituyen un tipo particular de árboles de gran aplicación. Estos árboles se caracterizan porque no existen nodos con grado mayor a dos, es decir, un nodo
EDA. Tema 8 Colas de Prioridad: Heaps
EDA. Tema 8 Colas de Prioridad: Heaps Natividad Prieto Sáez. DSIC EDA, T-8. Curso 02/03. N.Prieto p.1/55 Objetivos Estudio de las definiciones asociadas a las Colas de Prioridad: Especificación: operaciones
Árboles RN Montículos
Árboles RN Montículos Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Árbol AVL Árbol AVL Balanceo cuatro posibilidades que requieren rotación
Unidad Nº V Listas Enlazadas
Instituto Universitario Politécnico Santiago Mariño Unidad Nº V Listas Enlazadas Lista Enlazadas Es una colección o secuencia de elementos dispuestos uno detrás de otro, en la que cada elemento se conecta
El TAD Árbol. El TAD Árbol
Objetivos! Presentar el árbol como estructura de datos jerárquica! Estudiar diferentes variantes de árboles, tanto en su especificación como en su implementación Contenidos 3.1 Concepto, definiciones y
Fibonacci Heaps. Fabiola Di Bartolo. Universidad Simón Boĺıvar
Estructura Universidad Simón Boĺıvar Estructura 1 Introducción Heaps 2 Estructura 3 4 5 6 7 Binary Heaps Introducción Heaps Estructura Arbol binario casi completo: Todos los niveles deben estar llenos,
Estructuras de Datos Clase 20 Árboles de búsqueda
Estructuras de Datos Clase 20 Árboles de búsqueda Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca, Argentina
Apellidos:... Nombre:...
Apellidos:....................................... Nombre:........................................ Introducción a la Inteligencia Artificial 1 er Parcial de Teoría 12 Noviembre 2004 Ejercicio 1: Responder
UNIDAD 8 Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros.
Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros. Procedimientos para asignación y liberación de memoria. Tipos de datos recursivos.
El método main de la clase PruebaArbol, empieza creando una instancia de un objeto Árbol vacío y asigna su referencia a la variable árbol
Árboles Las listas enlazadas, pilas y colas son estructuras de datos lineales (es decir, secuencias). Un árbol es una estructura de datos bidimensional no lineal, con propiedades especiales. Los nodos
Listas Posicionales. Listas posicionales
Listas Posicionales Definición: Una lista posicional es una colección de elementos homogéneos, con una relación lineal entre ellos, en la que se puede acceder a los elementos mediante su posición. Se puede
LECCION N 08 ARBOLES. Un árbol es un grafo A que tiene un único nodo llamado raíz que:
LECCION N 08 ARBOLES Los árboles son estructuras de datos útiles en muchas aplicaciones. Hay varias formas de árboles y cada una de ellas es práctica en situaciones especiales, en este capítulo vamos a
Temario. Tema 5. Estructuras de Datos no Lineales. 5.1 Árboles Binarios 5.2 Árboles n-arios
Temario 5.1 Árboles Binarios 5.2 Árboles n-arios Especificación Utilización Representación Enlazada 5.3 Árboles Binarios de Búsqueda 5.4 Árboles Parcialmente Ordenados 1 Árbol n-ario: O bien es el conjunto
ARBOLES B. Lo que si es cierto es que la letra B no significa "binario", ya que:
ARBOLES B El problema original comienza con la necesidad de mantener índices en almacenamiento externo para acceso a bases de datos, es decir, con el grave problema de la lentitud de estos dispositivos
Este material es de uso exclusivo para estudio, los textos fueron tomados textualmente de varios libros por lo que está prohibida su impresión y
Este material es de uso exclusivo para estudio, los textos fueron tomados textualmente de varios libros por lo que está prohibida su impresión y distribución. Listas Enlazadas Estructuras de datos dinámicas
PRÁCTICA No. 13 ÁRBOL BINARIO DE BÚSQUEDA
INSTITUTO POLITÉCNICO NACIONAL SECRETARIA ACADÉMICA DIRECCIÓN DE EDUCACIÓN SUPERIOR ESIME CULHUACAN NOMBRE ALUMNO: FECHA DIA MES AÑO INGENIERÍA EN COMPUTACIÓN ASIGNATURA 1. Objetivo Apellido paterno ESTRUCTURAS
FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 3. Estructuras de Almacenamiento. Básicas. Definición y Manejo.
FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 3. Estructuras de Almacenamiento Básicas. Definición y Manejo. 1.- Búsqueda de Información. Definición de Clave. 2.- Definición y Manejo
Definición de una base de datos. Un manejador de base de datos es un programa que permite administrar y organizar una serie de datos.
Definición de una base de datos. Un manejador de base de datos es un programa que permite administrar y organizar una serie de datos. Utilidad de una base de datos Ahora bien, en las bases de datos electrónicas
UNIDAD 9. DATOS COMPLEJOS PILAS
UNI 9. TOS OMPLEJOS PILS Una pila es una lista de elementos en la que se pueden insertar y eliminar elementos sólo por uno de los extremos. omo consecuencia, los elementos de una pila serán eliminados
LISTAS. Prof. Ing. M.Sc. Fulbia Torres
LISTAS ESTRUCTURAS DE DATOS 2006 Prof. UNIDAD II ESTRUCTURAS DE DATOS LISTAS Definición. Representación de Listas. Lista Lineal Simplemente Enlazada. Operaciones TAD LLSE. Implementación Dinámica. Otras
Árboles de Decisión Árboles de Sintaxis
Árboles de Decisión Árboles de Sintaxis Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Árboles de Decisión Árbol de Decisión Forma gráfica de
Nombre de la asignatura : Estructura de Datos I. Carrera : Ingeniería en Sistemas Computacionales. Clave de la asignatura : SCB-9321
. D A T O S D E L A A S I G N A T U R A Nombre de la asignatura : Estructura de Datos I Carrera : Ingeniería en Sistemas Computacionales Clave de la asignatura : SCB-932 Horas teoría-horas práctica-créditos
Ejercicio 2 Considere la representación para Lista de Naturales y Árbol Binario de Naturales de la Figura 1.
Ejercicios Resueltos del Práctico 4 Ejercicio 2 Considere la representación para Lista de Naturales y Árbol Binario de Naturales de la Figura 1. 1 2 struct NodoLista { 3 int elem ; 4 NodoLista * sig ;
EJERCICIO 2 (3 PUNTOS) A) Sea el árbol binario AVL de la figura siguiente: B) Dada la estructura de la figura siguiente:
ASIGNATURA TITULACIÓN APELLIDOS ESTRUCTURA DE DATOS Y DE LA INFORMACIÓN EJERCICIO 1 (3 PUNTOS) GRUPO CURSO CONVOCATORIA NOMBRE 23 / 24 EXTRAORDINARIA- SEPTIEMBRE CALIFICACIÓN Dado el tipo abstracto de
Programación Estructuras Arborescentes
Programación 2 4 - Estructuras Arborescentes 1 Definición La recursión puede ser utilizada para la definición de estructuras realmente sofisticadas. Una estructura árbol (árbol general o finitario) con
Inteligencia Artificial
Inteligencia Artificial Tema 2 Búsquedas Ivan Olmos Pineda Contenido Estructura General de un PSA Formulación de un PSA Algoritmos de Búsqueda de Soluciones Aplicaciones BUAP Inteligencia Artificial 2
3.2. MANEJO DEL ENTORNO
3.2. MANEJO DEL ENTORNO 3.2.1 Hoja de cálculo. Un libro nuevo de Microsoft Excel de manera predeterminada presenta tres hojas de cálculo. Si lo desea, puede modificar lo anterior aplicando el siguiente
Capítulo 5. LISTAS. 5.1 Listas y listas vinculadas. Una lista es una colección lineal de elementos.
53 Capítulo 5. LISTAS. 5.1 Listas y listas vinculadas. Una lista es una colección lineal de elementos. Las listas pueden ser almacenadas en arreglos ( de qué manera?), pero las listas enlazadas proporcionan
