Los archivos planos y las bases de datos relacionales nos dan un mecanismo para serializar datos estructurados. XML es excelente para serializar datos de árbol sin estructura.¿Cómo serializar una estructura de gráfico?
Pero muchos problemas se representan mejor mediante gráficos. Un programa de simulación térmica, por ejemplo, trabajará con nodos de temperatura conectados entre sí a través de bordes resistivos.
Entonces, ¿cuál es la mejor manera de serializar una estructura de gráfico? Sé que XML puede, en cierta medida, hacerlo, de la misma manera que una base de datos relacional puede serializar una compleja red de objetos: generalmente funciona, pero puede ponerse fea.
Conozco el lenguaje de puntos utilizado por el programa graphviz, pero no estoy seguro de que esta sea la mejor manera de hacerlo. Esta pregunta es probablemente el tipo de cosa en que la academia podría estar trabajando y me encantaría tener referencias a cualquier documento que discuta esto.
He intentado utilizar la serialización de Java para serializar un gráfico. Pero recibo excepciones de desbordamiento de pila. Aparentemente, esa es una queja común, y la solución recomendada es escribir código de bajo nivel para anular "readObject()/writeObject()". ¿Hay una mejor manera? –
No he visto esto. Es importante que no serialice cada nodo usted mismo, sino que deje que Java serialice todo el gráfico en una sola llamada, ya que Java evita que el mismo objeto se grabe dos veces. ¿Puedes dar una pequeña muestra de código en otra pregunta? –