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)