PROFESORA:
ALUMNA:
Rodriguez Yudesky.
C. I 19.816.752.
III Semestre K.
INTRODUCCIN.
Grafos.
Grafos no dirigibles.
Grafos dirigibles
Representacin en conjunto
Tablas de adyacencias
Aplicaciones de grafos
rboles generales
rboles binarios
Recorrido de rboles
Aplicaciones de rboles
CONCLUSIN.
BIBLIOGRAFIA.
INTRODUCCIN
Hoy en da podemos ver muchas cosas que nos pueden parecer de lo mas
cotidianas, carreteras, lneas telefnicas, lneas de televisin por cable, el transporte
colectivo metro, circuitos elctricos de nuestras casas, automviles, y tantas cosas mas;
lo que no pensamos frecuentemente es que estos forman parte de algo que en
matemticas se denomina como grafos.
En este trabajo se tratar de explicar lo que son los grafos, sus tipos, y algunas
derivaciones de ellos, as como su representacin grfica y en algunos casos, su
representacin en algn programa informtico, as como en la memoria. Tambin
estudiaremos los rboles, tipos, sus aplicaciones, entre otros.
En el mismo, se ha explicando de manera muy sencilla los conceptos y algunas
metodologas con un lenguaje no tan rebuscado para su mayor entendimiento.
GRAFOS
Un grafo es un objeto matemtico que se utiliza para representar circuitos, redes,
etc. Los grafos son muy utilizados en computacin, ya que permiten resolver problemas
muy complejos.
Tambin se puede decir que son la representacin natural de las redes, en las que
estamos cada vez ms incluidos.
Ejemplo:
En la figura, V = {a, b, c, d, e, f}, y A = {ab, ac, ae, bc, bd, df, ef}.
Un grafo es una pareja de conjuntos G = (V,A), donde V es el conjunto de
vrtices, y A es el conjunto de aristas, este ltimo es un conjunto de subconjuntos de la
forma (u,v) tal que
, tal que
GRAFOS NO DIRIGIBLES
Un grafo no dirigido de define como un grafo donde los pares de vrtices estn
desordenados. Por desordenados, se entiende que las aristas en un grafo no dirigido no
tienen un vrtice origen ni un vrtice destino.
Grafos no dirigidos En estos grafos, las aristas que comunican dos nodos tienen dos
sentidos. Si una arista va de x a y, la misma arista va de y a x. Se expresa grficamente
por lneas. La representacin grfica de un grafo se define con un crculo o rectngulo
para los nodos y las relaciones con lneas o flechas segn sea un grafo no dirigido o un
dgrafo, respectivamente.
GRAFOS DIRIGIBLES
Un grafo dirigido es definido como aquel donde los pares de vrtices son ordenados.
Por ordenados, se entiende que cada arista en un grafo dirigido tiene un vrtice origen y
un vrtice destino.
Ejemplos:
{v1,v2,v3,v4,v5}
{v1,v2,v3,v4}
(v3,v4), (v4,v3) }
Adems de esto, los grafos pueden ser extendidos mediante la adicin de rtulos
(labels) a los arcos. Estos rtulos pueden representar costos, longitudes, distancias,
pesos, etc.
TERMINOS BASICOS DE LOS GRAFOS NO DIRIGIBLES:
Adyacente: Si existe una arista entre dos vrtices, por ejemplo, p y q, entonces
se dice que son vrtices adyacentes.
Lista de adyacencia - Cada vrtice tiene una lista de vrtices los cuales son
adyacentes a l. Esto causa redundancia en un grafo no dirigido (ya que A existe
en la lista de adyacencia de B y viceversa), pero las bsquedas son ms rpidas,
al costo de almacenamiento extra.
Estructuras matriciales:
APLICACIONES
DE
GRAFOS
Los
para
representar redes de
camino.
En general, se pueden
usar para representar cualquier ruta de viaje, ya sea por tierra, mar, o aire. Los
algoritmos de grafos se pueden usar para determinar si un camino de viaje existe desde
un origen a un destino, Adems, se puede calcular el camino mas corto desde un origen
a un destino usando algoritmos grafos.
RBOLES GENERALES
Un rbol general (a veces es llamado rbol) se define como un conjunto, finito no
vaci T de elementos, llamados nodos, tales que:
1. T contiene un elemento distinguido R, llamado raz de T.
2. Los restantes elementos de T forman una coleccin ordenada de cero o mas
rboles disjuntos T1, T2,.., Tm...
Ejemplo:
RBOLES BINARIOS
Un rbol binario es un rbol con raz en el que cada nodo tiene como mximo
dos hijos.
En ciencias de la computacin, un rbol binario es una estructura de datos en el
cual cada nodo:
Tambin se puede decir que Un rbol binario es una estructura recursiva. Cada nodo
es la raz de su propio subrbol y tiene hijos, que son races de rboles llamados los
subrboles derecho e izquierdo del nodo, respectivamente. Un rbol binario se divide en
tres subconjuntos disjuntos:
{R}
{I1, I2,. . ., IN}
Nodo raiz.
Subrbol izquierdo de R.
Subrbol derecho de R.
Un rbol binario sencillo de tamao 9 y altura 3, con un nodo raz cuyo valor es 2.
Ventajas:
Se necesita uso de pilas para el recorrido.
Sencillez de mantenibilidad y reusabilidad.
Desventajas:
Es difcil construir un rbol binario de bsqueda perfectamente equilibrado.
El nmero de consultas aumenta rpidamente con el nmero de registros a ordenar
FORMA DE ALMACENAMIENTO DE UN ARBOL BINARIO
Los rboles binarios pueden ser construidos a partir de lenguajes de
programacin de varias formas. En un lenguaje con registros y referencias, los rboles
binarios son construidos tpicamente con una estructura de nodos Y punteros en la cual
se almacenan datos, cada uno de estos nodos tienen una referencia o puntero a un nodo
en orden
previo.
en orden
la raz.
Se consideran dos tipos de recorrido: recorrido en profundidad y recorrido en
anchura o a nivel. Puesto que los rboles no son secuenciales como las listas, hay que
buscar estrategias alternativas para visitar todos los nodos.
- Recorridos en profundidad:
* Recorrido en preorden: consiste en visitar el nodo actual (visitar puede ser
simplemente mostrar la clave del nodo por pantalla), y despus visitar el subrbol
izquierdo
una
vez
visitado,
visitar
el
subrbol
derecho.
Si se hace el recorrido en preorden del rbol de la figura 1 las visitas seran en el orden
siguiente: a,b,d,c,e,f.
void preorden(tarbol *a)
{
if (a != NULL) {
Visitar(a);
Preorden(a->izq);
Preorden(a->der);
}
}
* Recorrido en inorden u orden central: se visita el subrbol izquierdo, el nodo actual, y
despus se visita el subrbol derecho. En el ejemplo de la figura 1 las visitas seran en
este orden: b,d,a,e,c,f.
void inorden(tarbol *a)
{
if (a != NULL) {
Inorden(a->izq);
Visitar(a);
Inorden(a->der);
}
}
* Recorrido en postorden: se visitan primero el subrbol izquierdo, despus el subrbol
derecho, y por ltimo el nodo actual. En el ejemplo de la figura 1 el recorrido quedara
as: d,b,e,f,c,a.
void postorden(arbol *a)
{
if (a != NULL) {
Postorden(a->izq);
Postorden(a->der);
Visitar(a);
}
}
La ventaja del recorrido en postorden es que permite borrar el rbol de forma
consistente. Es decir, si visitar se traduce por borrar el nodo actual, al ejecutar este
recorrido se borrar el rbol o subrbol que se pasa como parmetro. La razn para
hacer esto es que no se debe borrar un nodo y despus sus subrboles, porque al borrarlo
se pueden perder los enlaces, y aunque no se perdieran se rompe con la regla de
manipular una estructura de datos inexistente. Una alternativa es utilizar una variable
auxiliar, pero es innecesario aplicando este recorrido.
Definicin:
Un rbol es una estructura de datos recursiva que se puede caracterizar en forma
inductiva:
el valor de N es mayor que cualquier valor del subrbol izquierdo de N y es menor que
cualquier valor del subrbol derecho de N. ( no es difcil ver que esta propiedad
garantiza el recorrido inorden de T dar una lista ordenada de los elementos de T) .
Si el elemento del arreglo es igual que la informacin del nodo raz, entonces
notificar duplicidad.
Si el elemento del arreglo es menor que la informacin del nodo raz, entonces
se crea un hijo izquierdo.
Si el elemento del arreglo es mayor que la informacin del nodo raz, entonces
se crea un hijo derecho.
Una vez que ya est creado el rbol, se pueden buscar los elementos repetidos. Si x
el elemento buscado, se debe recorrer el rbol del siguiente modo:
El siguiente algoritmo
else
Left(i)
: return 2*i
CONCLUSIN
BIBLIOGRAFIA
Textos:
Paginas Web:
www.google.co.ve
www.wikipedia.com
www.lawebdelprogramador.com