Pascal/Turbo Pascal - Matrices Pascal

 
Vista:

Matrices Pascal

Publicado por Tomas (1 intervención) el 09/05/2012 23:00:44
hola que tal miren mi problma es q tengo que hacer un programa en pascal q a partir de la matriz de un grafo pueda determinar si es conexo o no.. un grafo conexo es q todos sus nodos esten conectados de alguna forma aunque sea no directamente por ejemplo


1--------------2
|
|
4--------------3

la matriz de este grafo seria

1, 1, 0, 1
1, 1, 0, 0
0, 0, 1, 1
1, 0, 1, 1

uno esta directamente conectado con 2 y con 4, 2 esta directamente conectado con uno, 3 esta directamente conectado con 4 y 4 esta directamente conectado con 1 y con 3.. en este caso el grafo es conexo por q si yo arranco desde 2 puedo llegar a 3 pasando por uno y por 4 previamente, es decir q estan todos conectados

bueno el tema es q tengo q hacer un programa en pascal (estoy usando el free pascal) que a partir de la matriz determine si es conexa o inconexa...

para q tengan una idea se me ocurrio y me recomendaron guardar en un vector a parte los recorridos de la matriz para verificar si estaban todos conectados o no

desde ya muchas gracias.. si me pueden ayudar mucho mejor! graciass!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Matrices Pascal

Publicado por Jaime (1 intervención) el 01/05/2013 14:38:07
A mi se me ha ocurrido esto si el grafo fuese una estructura dinámica.
1
2
3
4
5
6
7
8
9
10
11
FUNCTION GrafoConexo (g:TGrafo): BOOLEAN;
VAR
lista:TLista;
conexo:boolean;
BEGIN
conexo:=TRUE;
RecorridoProfundidad(g,g^.vertice,lista);
IF Longitud(lista)<NumeroNodos(g) THEN
conexo:=FALSE;
GrafoConexo:=conexo;
END;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar