13
REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA DEFENSA UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA BOLIVARIANA NÚCLEO FALCON-EXTENSIÓN PUNTO FIJO INTEGRANTES: Gusmán Luis C.I Monasterios Oriana C.I 22.607.013 Rodríguez David C.I SEMESTRE: 4to SECCION: Ing. Sistemas B Lenguaje de Programación

Arboles de Programacion

Embed Size (px)

Citation preview

Page 1: Arboles de Programacion

REPÚBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA DEFENSA

UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA

DE LA FUERZA ARMADA BOLIVARIANA

NÚCLEO FALCON-EXTENSIÓN PUNTO FIJO

INTEGRANTES:

Gusmán Luis C.I

Monasterios Oriana C.I 22.607.013

Rodríguez David C.I

SEMESTRE:

4to

SECCION:

Ing. Sistemas B

PUNTA CARDON, ENERO DEL 2014

Lenguaje de Programación

Page 2: Arboles de Programacion

Índice

Contenido. Pág.

Portada………………………………………………………………………………………i

Índice…………………………………………………………………………………..……ii

Introducción…………………………………………………………………………..……iii

Arboles generales………………………………………………………….……...4

Características…………………………………………………………………..5-6

Arboles binarios………………………………………………………..………….6

Representación .………………………………………………………….……….7

Recorrido de árboles binarios………………………………………………….8-9

Arboles binarios de búsqueda……………………………….………….……9-10

Conclusión………………………………………………………………………………11

2

Page 3: Arboles de Programacion

INTRODUCCIÓN

3

Page 4: Arboles de Programacion

ARBOLES GENERALES

En la ciencia de la computación definimos un árbol como un conjunto de nodos y

líneas. Un nodo es un elemento de información que reside en el árbol. Una línea

es un par de nodos ordenados <u,v>, y a la secuencia de líneas se le denomina

ruta (path). Los arboles representan las estructuras no-lineales y dinámicas de

datos más importantes en computación. Dinámicas, puesto que la estructura árbol

puede cambiar durante la ejecución de un programa. No lineales, puesto que a

cada elemento del árbol pueden seguirle varios elementos

Un árbol es un tipo especial de relación que es muy útil para el estudio de una

gran variedad de aplicaciones en las ciencias de la computación e ingeniería. Un

árbol se representa como un grafo dirigido o no dirigido. Los árboles son muy

usados en el estudio y construcción de base de datos, modelamiento jerárquico de

clases y en la teoría de lenguajes y construcción de compiladores, son muy

usados para describir los arboles sintácticos correspondientes a gramáticas de

lenguajes.

Este tipo de estructura es usual incluso fuera del campo de la informática. El lector

seguramente conoce casos como los árboles gramaticales para analizar

oraciones, los árboles genealógicos, representación de jerarquías, etc...La

estructuración en árbol de los elementos es fundamental dentro del campo de la

informática aplicándose en una amplia variedad de problemas.

.

4

Page 5: Arboles de Programacion

Características:

1. NODO indica un elemento, o ítem, de información.

2. Todo árbol que no es vacío, tiene un único nodo raíz.

3. Un nodo X es descendiente directo de un nodo Y, si el nodo X es apuntado por el nodo Y, X es hijo de Y.

4. Un nodo X es antecesor directo de un nodo Y, si el nodo X apunta al nodo Y, X es padre de Y.

5. Se dice que todos los nodos que son descendientes directos (hijos) de un mismo nodo (padre), son hermanos.

6. Todo nodo que no tiene ramificaciones (hijos), se conoce con el nombre de terminal u hoja.

7. Todo nodo que no es raíz, ni terminal u hoja se conoce con el nombre de interior.

8. Grado es el número de descendientes directos de un determinado nodo. Grado del árbol es el máximo grado de todos los nodos del árbol.

9. Nivel es el número de arcos que deben ser recorridos para llegar a un determinado nodo. Por definición, la raíz tiene nivel 1.

10.Altura del árbol es el máximo número de niveles de todos los nodos del árbol.

5

Page 6: Arboles de Programacion

ARBOLES BINARIOS

Los árboles binarios son un conjunto finito de elementos (nodos) que bien está

vacío o está formado por una raíz con dos árboles binarios disjuntos, es decir, dos

descendientes directos llamados subárbol izquierdo y subárbol derecho. Los

árboles binarios (también llamados de grado 2) tienen una especial importancia.

Las aplicaciones de los arboles binarios son muy variadas ya que se les puede

utilizar para representar una estructura en la cual es posible tomar decisiones con

dos opciones en distintos puntos.

6

Page 7: Arboles de Programacion

Representación:

7

Page 8: Arboles de Programacion

Recorrido de árboles binarios:

Una de las operaciones más importantes a realizar en un árbol binario es el

recorrido de los mismos. Recorrer significa visitar los nodos del árbol en forma

sistemática; de tal manera que todos los nodos del mismo sean visitados una sola

vez. Existen tres formas diferentes de efectuar el recorrido y todas ellas de

naturaleza recursiva, éstas son:

Recorrido en preorden:

Visitar la raíz.

Recorrer el subárbol izquierdo.

Recorrer el subárbol derecho.

Recorrido en inorden:

Recorrer el subárbol izquierdo.

Visitar la raíz.

Recorrer el subárbol derecho.

Recorrido en postorden:

Recorrer el subárbol izquierdo.

Recorrer el subárbol derecho.

Visitar la raíz.

El termino visitar puede ser reemplazado por escribir la información el nodo.

8

Page 9: Arboles de Programacion

Ejemplo:

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

Formalmente se define un árbol binario de búsqueda de la siguiente manera:

“Para todo nodo T del árbol debe cumplirse que todos los valores de los nodos del

subárbol izquierdo de T deben ser menores o iguales al valor del nodo T. De forma

similar, todos los valores de los nodos el subárbol derecho de T deben ser

mayores o iguales al valor del nodo T”.

Un árbol binario de búsqueda(ABB) es un árbol binario con la propiedad de que

todos los elementos almacenados en el subárbol izquierdo de cualquier nodo x

son menores que el elemento almacenado en x ,y todos los elementos

9

Page 10: Arboles de Programacion

almacenados en el subárbol derecho de x son mayores que el elemento

almacenado en x.

La figura 1 muestra dos ABB construidos en base al mismo conjunto de enteros:

10

Page 11: Arboles de Programacion

CONCLUSIÓN

11