Professional Documents
Culture Documents
TEMA PROPUESTO:
REPRESENTACION GRAFICA DE ARBOLES EN C++
PARALELO:
S1B
AUTORES:
MOLESTINA SALDAÑA ANTHONY ISAAC
EGAS ARIZALA KEVIN OSWALDO
ARIAS MARTINEZ BRYAN JOSE
APOLINARIO SUAREZ DANIEL EDUARDO
TUTORA:
M.SC. ÁNGELA YANZA MONTALVÁN, ING. MG.
GUAYAQUIL, ECUADOR
2015-2016
DEDICATORIA
Este proyecto va dedicado primeramente a DIOS por darnos salud e inteligencia ante
todo, por habernos permitido formar un excelente equipo y que con mucho sacrificio y
esfuerzo del día a día hemos podido llegar a cumplir nuestros objetivos, agradeciendo
todo momento y ayudándonos en lo que hacía falta dándonos los mejores consejos para
ellos nos ayudan con los conocimientos necesarios que debemos tener para poder llevar
para seguir adelante con este proyecto que nos servirá tanto ahora como en periodo a
largo plazo.
Este proyecto es el resultado del esfuerzo en conjunto de todos los que formamos el
equipo de trabajo LOS ALFA & OMEGA. También agradeciendo mucho a nuestra tutora
Ing. Ángela Yanza, quien a lo largo de este tiempo ha sido de gran ayuda en nuestro
Estamos seguros que nuestros objetivos y metas en un periodo de corto y largo plazo
darán fruto de manera muy eficiente creando así muchas oportunidades para nuestro
Esta estructura se usa principalmente para representar datos con una relación entre sus
Vamos a profundizar en un tipo especial de árbol llamado árbol binario, la cual puede ser
C++ que nos va ayudar mucho para trabajos y proyectos a futuro que nos podrán mandar
de la Universidad de Guayaquil.
1. CAPÍTULO I
INTRODUCCIÓN GENERAL
1.1. ANTECEDENTES
típicamente con una estructura de nodos y punteros en la cual se almacenan datos, cada
uno de estos nodos tiene una referencia o puntero a un nodo izquierdo y a un nodo
Si un nodo tiene menos de dos hijos, algunos de los punteros de los hijos pueden ser
1.2. OBJETIVOS
motivación hacia el estudiante para que pueda aprender más sobre dicho tema.
estudiantes nuevos que empiezan en esta carrera para obtener una mayor
de Guayaquil.
verídicos.
1.6. RECURSOS
Recursos humanos
Hardware
ANÁLISIS
Pueden usarse para crear programas que controlen el comportamiento físico y lógico de
una máquina, para expresar algoritmos con precisión, o como modo de comunicación
humana.
Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen
Desarrollo de la documentación.
Existe un error común que trata por sinónimos los términos 'lenguaje de programación' y
Permite especificar de manera precisa sobre qué datos debe operar una computadora,
cómo deben ser almacenados o transmitidos y qué acciones debe tomar bajo una variada
usar un conjunto común de instrucciones que sean comprendidas entre ellos para
¿QUE ES C++?
C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne
híbrido.
Posteriormente se añadieron facilidades de programación genérica, que se sumaron a
Una particularidad del C++ es la posibilidad de redefinir los operadores, y de poder crear
El nombre C++ fue propuesto por Rick Mascitti en el año 1983, cuando el lenguaje fue
utilizado por primera vez fuera de un laboratorio científico. Antes se había usado el
nombre "C con clases". En C++, la expresión "C++" significa "incremento de C" y se
Ventajas
Lenguaje muy didáctico, con este lenguaje puedes aprender muchos otros
lenguajes con gran facilidad, como C#, Java, Visual Basic, JavaScript, PHP, entre
otros.
muy robusto.
variable).
5. E/S no forma parte del lenguaje, sino que se proporciona a través de una biblioteca
de funciones.
independiente.
/* Esta cabecera permite usar los objetos que encapsulan los descriptores stdout
y stdin: cout(<<) y cin(>>)*/
#include <iostream>
int main()
{
cout << "Hola mundo" << endl;
cin.get();
}
Al usar la directiva #include se le dice al compilador que busque e interprete todos los
elementos definidos en el archivo que acompaña la directiva (en este caso, iostream).
Para evitar sobrescribir los elementos ya definidos al ponerles igual nombre, se crearon
los espacios de nombres o namespace del singular en inglés. En este caso hay un
espacio de nombres llamado std, que es donde se incluyen las definiciones de todas las
espacio de nombres std por lo que no tendremos que incluirlo cuando usemos elementos
de este espacio de nombres, como pueden ser los objetos cout y cin, que representan el
que ponerlos explícitamente, aunque no se fueran a usar. Queda solo comentar que el
símbolo << se conoce como operador de inserción, y grosso modo está enviando
a cout lo que queremos mostrar por pantalla para que lo pinte, en este caso la
cadena "Hola mundo". El mismo operador << se puede usar varias veces en la misma
Por último tomaremos una secuencia de caracteres del teclado hasta el retorno de línea
Las variables son títulos asignados a espacios en memoria para almacenar datos
específicos. Son contenedores de datos y por ello se diferencian según el tipo de dato
especificar un tipo de variable concreto para guardar un dato específico. Por ejemplo, en
Java, si deseamos guardar una cadena de texto debemos especificar que la variable es
del tipo String. Por otra parte, en lenguajes como PHP este tipo de especificación de
vector no es más que un conjunto de bytes consecutivas en memoria y del mismo tipo
signo o un número.
como el literal falso ("False"), mientras que el uno se considera verdadero ("True").
Los condicionantes son estructuras de código que indican que, para que cierta parte del
programa se ejecute, deben cumplirse ciertas premisas; por ejemplo: que dos valores
sean iguales, que un valor exista, que un valor sea mayor que otro...
Estos condicionantes por lo general solo se ejecutan una vez a lo largo del programa.
If: Indica una condición para que se ejecute una parte del programa.
Else if: Siempre va precedido de un "If" e indica una condición para que se ejecute
una parte del programa siempre que no cumpla la condición del if previo y si se
Else: Siempre precedido de "If" y en ocasiones de "Else If". Indica que debe
Los bucles son parientes cercanos de los condicionantes, pero ejecutan constantemente
un código mientras se cumpla una determinada condición. Los más frecuentes son:
parámetros.
Hay que decir que a pesar de que existan distintos tipos de bucles, ambos son capaces
de realizar exactamente las mismas funciones. El empleo de uno u otro depende, por lo
Las funciones se crearon para evitar tener que repetir constantemente fragmentos de
código. Una función podría considerarse como una variable que encierra código dentro
de sí. Por lo tanto cuando accedemos a dicha variable (la función) en realidad lo que
predefinido anteriormente.
Todos los lenguajes de programación tienen algunos elementos de formación primitivos
datos (tal como la suma de dos números o la selección de un elemento que forma parte
de una colección). Estos elementos primitivos son definidos por reglas sintácticas y
¿QUE ES UN ARBOL?
Un árbol es una estructura de datos no lineal puesto que cada elemento apunta a uno o
varios elementos del mismo tipo; esto es dado un elemento, no hay un único camino a
seguir. El elemento que apunta a otro es llamado padre, mientras que el elemento
apuntado se conoce como hijo. Todos los elementos tienen un padre a excepción de la
raíz. Puede decirse que un árbol está formado por subárboles resaltando así su
naturaleza recursiva.
A los árboles ordenados de grado dos se les conocen como arboles binarios ya que cada
nodo del árbol no tendrá más de dos descendientes directos. 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.
A. B. Distinto.
A. B. Similares.
A. B. Equivalentes.
A. B. Completos.
A continuación se hará una breve descripción de los diferentes tipos de árbol binario
Se dice que dos árboles binarios son distintos cuando sus estructuras son diferentes.
Ejemplo:
A. B. SIMILARES
Dos árboles binarios son similares cuando sus estructuras son idénticas, pero la
A. B. EQUIVALENTES
Son aquellos árboles que son similares y que además los nodos contienen la misma
información. Ejemplo:
A. B. COMPLETOS
Son aquellos árboles en los que todos sus nodos excepto los del ultimo nivel, tiene dos
Hay tres maneras de recorrer un árbol: en inorden, preorden y postorden. Cada una de
ellas tiene una secuencia distinta para analizar el árbol como se puede ver a
continuación:
INORDEN
Examinar la raíz.
PREORDEN
Examinar la raíz.
POSTORDEN
Examinar la raíz.
A continuación se muestra un ejemplo de los diferentes recorridos en un árbol
binario.
Inorden: GDBHEIACJKF
Preorden: ABDGEHICFJK
Postorden: GDHIEBKJFCA
Arboles Enhebrados
Existe un tipo especial de árbol binario llamado enhebrado, el cual contiene hebras que
enhebrado a la derecha.
ARBOL ENHEBRADO A LA DERECHA. Este tipo de árbol tiene un apuntador a
BUSQUEDA DE ARBOLES
Esto implica examinar cada parte del árbol hasta que el vértice o la arista deseada sean
o podríamos des plegarnos comprobando todos los vértices en un nivel antes de pasar
al siguiente.
Búsqueda en profundidad:
sea posible antes de desplegarse a otros vértices .Esto se consigue al tomar el nuevo
visitaremos todos los vértices adyacentes a uno dado antes de cambiar de nivel.
DISEÑO
CONCLUSIONES Y RECOMENDACIONES
5.1. CONCLUSIONES
5.2. RECOMENDACIONES
Bibliografía
http://francisco.abad.tripod.com/id16.html
https://kenai.com/projects/javaquerylanguage/pages/Home
García, Rodríguez , Brazales. (s.f.). En Aprenda Visual Baci 6.0 (pág. 14).
http://www.ecured.cu/L%C3%B3gica_matem%C3%A1tica
de Prezi: https://prezi.com/_ijmn3m87pyo/aplicando-la-logica-proposicional-a-
la-vida-diaria-evitaremos-accidentes/
aprenderaprogramar.com:
http://aprenderaprogramar.com/index.php?option=com_content&view=article&id
=116:versiones-de-visual-basic-ique-es-ies-visual-basic-buen-lenguaje-para-
aprender-a-programar-cu00303a&catid=37:curso-aprender-a-programar-visual-
basic-desde-cero&Itemid=61-https:
España.
8. REFERENCIAS BIBLIOGRÁFICAS
Referencias
http://francisco.abad.tripod.com/id16.html
https://kenai.com/projects/javaquerylanguage/pages/Home
García, Rodríguez , Brazales. (s.f.). En Aprenda Visual Baci 6.0 (pág. 14).
aprenderaprogramar.com:
http://aprenderaprogramar.com/index.php?option=com_content&view=article&id
=116:versiones-de-visual-basic-ique-es-ies-visual-basic-buen-lenguaje-para-
aprender-a-programar-cu00303a&catid=37:curso-aprender-a-programar-visual-
basic-desde-cero&Itemid=61-https:
España.
9. REFERENCIA GENERAL
ACTA DE CALIFICACIÓN
Proyecto Final
Paralelo: S1B
Participantes