Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Matriz de adyacencias: se asocia cada fila y cada columna a cada nodo del
grafo, siendo los elementos de la matriz la relacin entre los mismos,
tomando los valores de 1 si existe la arista y 0 en caso contrario.
int V,A;
int a[maxV][maxV];
void inicializar()
{
int i,x,y,p;
char v1,v2;
// Leer V y A
memset(a,0,sizeof(a));
for (i=1; i<=A; i++)
{
scanf("%c %c %d\n",&v1,&v2,&p);
x=v1-'A'; y=v2-'A';
a[x][y]=p; a[y][x]=p;
}
}
Lista de adyacencias: se asocia a cada nodo del grafo una lista que
contenga todos aquellos nodos que sean adyacentes a l.
struct nodo
{
int v;
int p;
nodo *sig;
};
int V,A; // vrtices y aristas del grafo
struct nodo *a[maxV], *z;
void inicializar()
{
int i,x,y,peso;
char v1,v2;
struct nodo *t;
z=(struct nodo *)malloc(sizeof(struct nodo));
z->sig=z;
for (i=0; i<V; i++)
a[i]=z;
for (i=0; i<A; i++)
{
scanf("%c %c %d\n",&v1,&v2,&peso);
x=v1-'A'; y=v2-'A';
t=(struct nodo *)malloc(sizeof(struct nodo));
t->v=y; t->p=peso; t->sig=a[x]; a[x]=t;
}
}
Bsqueda en profundidad.
Se implementa de forma recursiva, aunque tambin puede realizarse
con una pila. Se utiliza un array val para almacenar el orden en que
fueron explorados los vrtices. Para ello se incrementa una variable
global id (inicializada a 0) cada vez que se visita un nuevo vrtice y se
almacena id en la entrada del array val correspondiente al vrtice que
se est explorando.
La siguiente funcin realiza un mximo de V (el nmero total de
vrtices) llamadas a la funcin visitar, que implementamos aqu en
sus dos variantes: representacin por matriz de adyacencia y por listas
de adyacencia.
int id=0;
int val[V];
void buscar()
{
int k;
for (k=1; k<=V; k++)
val[k]=0;
for (k=1; k<=V; k++)
if (val[k]==0) visitar(k);
}
void visitar(int k) // matriz de adyacencia
{
int t;
val[k]=++id;
for (t=1; t<=V; t++)
if (a[k][t] && val[t]==0) visitar(t);
}
void visitar(int k) // listas de adyacencia
{
struct nodo *t;
val[k]=++id;
for (t=a[k]; t!=z; t=t->sig)
if (val[t->v]==0) visitar(t->v);
}
Para el orden de exploracin de ejemplo anterior los valores seran los siguientes:
val[1]=3;
val[2]=1;
val[3]=2;
val[4]=4;
Es decir los grafos como tal nos ayudan a buscar y recopilar datos en un programa
mediante el orden de jerarquizacin la cual nos facilita mucho el trabajo sobre
todo para relacionar datos el uno con el otro y formando operaciones de las
mismas o ya bien para localizar funciones y nodos ya que sui jerarquizacin nos
permite tener prioridades y uso fcil sobre ellos.
Los grafos son una manera de anlisis para poder entender mejor como esta
entrelazado nuestro programa o nuestra red es como un mapa detallado de lo que
queremos lograr o ya tenemos as es ms fcil el poder realizar cambios o incluso
agregar nuevas redes o sectores de cdigo
Lo cual se utiliza mucho en programacin pues una vez que se crea un programa
se tiene que ir actualizando e incluso mejorando si no se hace un grafo con el
debido detalle y alguien que no sea el que creo el programa intenta hacer cambios
podra borrar algo vital y dejarlo inservible,
En las redes para interconectar ciertos lugares y si se va a expandir saber dnde
se puede hacer una unin sin alterar el flujo de datos de igual manera en un
circuito se puede utilizar para realizar el diagrama es ms que nada
documentacin para hacer algo se ve muy enredado o complicado sea ms
sencillo de entender o incluso para empezar algn proyecto se puede utilizar con
las bases del proyecto ir desarrollndolo para dar solucin o llegar la meta u
objetivo deseado
Si no se realizan bien los grafos por ejemplo en cuanto a los circuitos con el flujo
de corriente o de los componentes que requiere un transistor para realizar cierta
tarea lo cual serian dos grafos uno para la continuidad de la corriente y otro de
procedencia indicando los lazos entre los transistores o chips
En las redes podra quedar algn sector aislado de informacin si no se realiza
correctamente o incluso en algn punto el flujo de datos se cortara
En programacin se podra manejar el de procedencia muy bien pues podras
exponer todos los procesos detallados y sus requerimientos sin los cuales el
programa sera intil
.
grafo completo
En caso de representar un grafo dirigido , podemos representarlo con una pgina
cerrada a retroalimentacin (como la de grandes marcas comerciales , como Coca
Cola , Telcel , Audi) en donde ellos siendo el nodo principal pueden mandar
informacin (algn comentario o publicacin en su pgina de Facebook ) la cual se
transmitir por el resto del grafo , pero t no puedes retroalimentar ya que es
imposible hacer una publicacin en su pgina principal de Facebook y tambin se
podra decir que este grafo es de tipo simple ya que no todos los miembros estn
unidos
grafo simple