Algoritmos y estructura de datos en I.O. Arboles Generales.

Slides:



Advertisements
Presentaciones similares
5. Estructuras no lineales estáticas y dinámicas
Advertisements

ESTRUCTURA DE DATOS Unidad 04 TDA no lineales - Árboles.
ESTRUCTURA DE DATOS Unidad 04 Árboles BINARIOS.
ESTRUCTURA DE DATOS Unidad 04 Árboles BINARIOS DE BUSQUEDA.
ÁRBOLES EN C UNIVERSIDAD “ALONSO DE OJEDA” Facultad de Ingeniería
Bruno López Takeyas Instituto Tecnológico de Nuevo Laredo
La maquina de Turing La máquina de Turing es una caja negra (tan simple como una máquina de escribir y tan compleja como un ser humano) capaz no sólo de.
1 Extensión de un Estructura de Datos Agustín J. González ELO-320: Estructura de Datos y Algoritmos.
Programación y Estructuras de Datos
ÁRBOLES BINARIOS DE BUSQUEDA
Operaciones sobre un árbol
ESTRUCTURAS DE DATOS AVANZADAS
PROGRAMACION DE ESTRUCTURAS DE DATOS
Teoría de lenguajes y compiladores
Árboles balanceados AVL
ÁRBOLES DE EXPRESION.
Definición Estructura de datos jerárquica (no lineal) que puede representarse como un conjunto de nodos enlazados entre sí por medio de ramas. Formalmente,
Arboles (Trees) Arboles Arboles binarios Recorridos de árboles
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.
Diplomado en Informática Aplicada
Almacenamiento y Recuperacion de Información TAD_ABB Ana Lilia Laureano Cruces Universidad Autónoma Metroplotiana.
Tema 9 Estructuras.
Estructura de Datos Lineales
Material de apoyo Unidad 4 Estructura de datos
Ingeniero Anyelo Quintero
Definiciones: conjuntos, grafos, y árboles
PILAS, COLAS, RECURSIVIDAD.
ESTRUCTURAS DE DATOS I Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos.
ARBOLES ESTRUCTURAS DE DATOS.
Estructuras.
Estructura de Datos y Algoritmos
ESTRUCTURA DE DATOS EN JAVA
Diseño y análisis de algoritmos
Clase 10: Estructuras de datos y arreglos.
Arboles M.C. José Andrés Vázquez FCC/BUAP
ARBOLES ESTRUCTURAS DE DATOS.
Árboles B M.C. José Andrés Vázquez Flores Estructuras de Datos / Primavera 2014.
Aplicación de estructuras de datos
Árboles.

Árboles Recomendado: 1. Nivelación Funciones
MATEMATICAS DISCRETAS II
Árboles de Búsqueda Binaria
Equipo Los Socios González Couttolenc Iván Montes Saavedra Yesuha Israel Ocampo Hernández Miguel Ángel UNIDAD 3: ÁRBOLES.
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.
Sesión 7: Redes Bayesianas – Inferencia
Estructura de Datos M.C. José Andrés Vázquez Flores FCC/BUAP
Unidad 6: Árboles.
Definiciones: conjuntos, grafos, y árboles
1 Extensión de un Estructura de Datos Agustín J. González ELO-320: Estructura de Datos y Algoritmos.
1 Árboles de Búsqueda Binaria Agustín J. González ELO-320: Estructura de Datos y Algoritmos.
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
Punteros, referencias Listas enlazadas Arboles
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”
Sesión 6: Redes Bayesianas - Inferencia
Árboles Binarios de Búsqueda (ABB)
A YUDANTÍA 5: A RBOLES Carlos Pulgar R. Mail: Página Ayudantía:
Árboles Binarios * Recorridos * Tipo
Aplicación JAVA implementando Arboles de Decisión

M.C. Meliza Contreras González
Matemáticas Discretas MISTI
Mini-video 2 de 5 Materia: Límites de funciones Continuidad de funciones Prácticas con Introducción a Funciones de una variable.
ESTRUCTURA DE DATOS II Ing. Freddy Melgar Algarañaz Árboles Binarios *Recorridos *Tipo.
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.
Clase II Estructuras dinámicas (TAD) Listas Enlazadas. ¿A que llamamos estructuras dinámicas? ¿Por qué son necesarias? Ventajas y Desventajas que tendremos.
UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO LICENCIATURA EN INGENIERÍA DE SOFTWARE UNIDAD DE APRENDIZAJE: ESTRUCTURAS DE DATOS Créditos institucionales.
Transcripción de la presentación:

Algoritmos y estructura de datos en I.O. Arboles Generales

INTRODUCCIÓN Hasta ahora las estructuras de datos que hemos estudiado eran de tipo lineal, o sea, existía una relación de anterior y siguiente entre los elementos que la componían(cada elemento tendrá uno anterior y otro posterior, salvo los casos de primero y último).Pues bien, aquí se va a estudiar una estructuración de los datos más compleja: los árboles.

Para tratar esta estructura cambiaremos la notación: Las listas tienen posiciones. Los árboles tienen nodos. Las listas tienen un elemento en cada posición. Los árboles tienen una etiqueta en cada nodo (algunos autores distinguen entre árboles con y sin etiquetas. Un árbol sin etiquetas tiene sentido aunque en la inmensa mayoría de los problemas necesitaremos etiquetar los nodos. Es por ello por lo que a partir de ahora sólo haremos referencia a árboles etiquetados).

Implementación física. Consideremos el ejemplo de la siguiente figura.

Podemos observar que cada uno de los identificadores representa un nodo y la relación padre- hijo se señala con una línea. Los árboles normalmente se presentan en forma descendente y se interpretan de la siguiente forma: E es la raíz del árbol. S1,S2,S3 son los hijos de E. S1,D1 componen un subárbol de la raíz. D1,T1,T2,T3,D3,S3 son las hojas del árbol. etc...

RECORRIDOS DE UN ÁRBOL

Listado preorden. A=A r =rA v A s =rvA u A w A s = rvuA w A s =rvuwA x A y A z A s = rvuwxA y A z A s =rvuwxyA z A s =rvuwxyzA s =rvuwxyzsA p A q =rvuwxyzspA q =rvuwxyzspq. Listado postorden. A=A r =A v A s r=A u A w vA s r= uA w vA s r=uA x A y A z wvA s r= uxA y A z wvA s r=uxyA z wvA s r=uxyzwvA s r= uxyzwvA p A q sr=uxyzwvpA q sr=uxyzwvpqsr. Listado inorden. A=A r =A v rA s =A u vA w rA s = uvA w rA s =uvA x wA y A z rA s =uvxw A y A z rA s =uvxwyA z rA s =uvxwyzrA s = uvxwyzrA p sA q =uvxwyzrpsA q =uvxwyzrpsq.

Los resultados de los listados de pre-orden, post-orden e in-orden son los siguientes:

Finalmente es interesante conocer que un árbol no puede, en general, recuperarse con uno solo de sus recorridos. Por ejemplo: Dada la lista en inorden:vwyxzrtupsq,los árboles de la figura 4 tienen ese mismo recorrido en inorden.

UNA IMPLEMENTACIÓN MATRICIAL Sea A un árbol en el cual los nodos se etiquetan 0,1,2,...,n-1,es decir, cada nodo contiene un campo de información que contendrá estos valores. La representación más simple de A que soporta la operación PADRE es una matriz lineal P en la cual el valor de P[i] es un valor o un cursor al padre del nodo i. La raíz de A puede distinguirse dándole un valor nulo o un valor a él mismo como padre. Por ejemplo, podemos usar un esquema de cursores donde P[i]=j si el nodo j es el padre del nodo i, y P[i]=-1 (suponemos que NODO_NULO=-1) si el nodo i es la raíz. La definición del tipo sería: #define MAXNODOS 100 /*Por ejemplo*/ #define NODO_NULO -1 typedef int nodo; /*Indica una casilla de la matriz*/ typedef int *ARBOL;

IMPLEMENTACIÓN DE ÁRBOLES POR LISTAS DE HIJOS Una forma útil e importante de representar árboles es formar para cada nodo una lista de sus hijos. Las listas pueden representarse por cualquier método, pero como el número de hijos que cada nodo puede tener puede ser variable, las representaciones por listas enlazadas son las más apropiadas. La figura 8 sugiere como puede representarse el árbol del ejemplo de la figura 7: