Grafos

26 views
Skip to first unread message

"Why so Serious?" I am Napier...Guru...

unread,
Apr 11, 2009, 7:01:53 PM4/11/09
to javamaniaco
Hola todos:
Estoy trabajando con grafos y la forma de trabajarlos es a travez de
una lista de adyacencia. Tengo que realizar varios algoritmos respecto
a los grafos. Por ejemplo el de Dijkstra... no se si alguien tiene una
idea para orientarme

Jorge Curiel

unread,
Apr 12, 2009, 11:08:03 PM4/12/09
to javam...@googlegroups.com
Hola!!

Pues manejando matrices de adyacencia es una manera muy eficiente de manejar los grafos, te recomiendo que leas algún libro sobre estructuras de datos, no importa que sea para c o c++

Saludos


2009/4/11 "Why so Serious?" I am Napier...Guru... <marvinva...@gmail.com>



--
"La tierra es de quien la trabaja"
Tratándose del software:
   * No hace falta hechar fuera a los caciques, hay suficiente tierra disponible
   * Tenemos las mejores herramientas disponibles en bandeja de plata
   * El que pega primero pega dos veces
   * Es difícil deshacerse de algo que funciona bién
   * Entre más software libre utilicemos más oportunidades tendremos de seguirlo utilizando
   * Debemos aprovechar todas las oportunidades
   * La libertad es lo primero


Marvin Valenzuela

unread,
Apr 12, 2009, 11:11:32 PM4/12/09
to javam...@googlegroups.com
Ok muchas gracias, efectivamente es una manera muy eficiente de manejar los grafos con las matrices de adyacencia, pero tengo que utilizar por fuerza las listas de adyacencias...

Jorge Curiel

unread,
Apr 12, 2009, 11:14:00 PM4/12/09
to javam...@googlegroups.com
Ahh ok, quieres hacerlo con listas enlazadas, es que entendi con matrices de adyacencia....
hay vario slibros  de estructuras para java, que traen implementados los algoritmos, quizás una parte del algoritmo, pero eso ya es una ayuda, si tienes emule, ahi los puedes encontrar...o googlea un rato...


2009/4/12 Marvin Valenzuela <marvinva...@gmail.com>

Ok muchas gracias, efectivamente es una manera muy eficiente de manejar los grafos con las matrices de adyacencia, pero tengo que utilizar por fuerza las listas de adyacencias...


German Cardozo

unread,
Apr 13, 2009, 9:33:50 AM4/13/09
to javam...@googlegroups.com
Buenas Buenas...

Si no tienes ninguna restricción en el uso de las estructuras, y
particularmente no tienes restricciones con el uso del Java
Collections Framework, puedes implementar de forma bastante rápida una
lista de adyacencia usando Hashtable o TreeMap, dependiendo del uso y
acceso que desees dar a los nodos.

Estructuras como:

Hashtable<String,Hashtable<String,Integer>> adjList; // donde el
Integer es para establecer "pesos"

o

TreeMap <String,ArrayList<String>> adjList; // donde lo que interesa
es recorrer en orden los nodos

pueden funcionar como listas de adyacencia con diferentes
características (nodos ordenados, pesos, etc...). Basta con usar los
métodos en cada una para implementar las funciones atribuídas a los
grafos representados según la estructura seleccionada. Puedes hacer
uso de Generics si quieres implementar TDA para especificar el tipo de
datos de los nodos, pesos, etc.

Lo demás, como dice el compañero Jorge, es buscar en los libros de
Algoritmos. Te recomiendo particularmente el siguiente, que puedes
conseguir libre en la red en la siguiente dirección:
http://www.cs.berkeley.edu/~vazirani/algorithms.html

Saludos,

2009/4/12 Jorge Curiel <jorge...@gmail.com>:
--
German Cardozo Chirinos
Sun Certified Java Programmer (SCJP)
Cisco Certified Academy Instructor (CCAI)

Marvin Valenzuela

unread,
Apr 13, 2009, 10:05:06 AM4/13/09
to javam...@googlegroups.com
Hola:
Muchas gracias por sus comentarios, me dedicare a leer los libros que encuentre y el libro que postearon... gracias. Lastimosamete tengo restringido el uso de Java Collections Framework... El proyecto en si lo llevo casi terminado, simplemente me hacia falta este algoritmo...

Gracias


> >
>



--
German Cardozo Chirinos
Sun Certified Java Programmer (SCJP)
Cisco Certified Academy Instructor (CCAI)





--
Marvin Valenzuela.

Gabriel Ernesto Gutierrez Añez

unread,
Apr 13, 2009, 10:12:01 AM4/13/09
to javam...@googlegroups.com
que algoritmo? el de Dijkstra?

este esta posteado en wikipedia. http://es.wikipedia.org/wiki/Algoritmo_de_Dijkstra

Saludos,

2009/4/13 Marvin Valenzuela <marvinva...@gmail.com>
Reply all
Reply to author
Forward
0 new messages