Плоские файлы и реляционные базы данных предоставляют нам механизм для сериализации структурированных данных. XML превосходно подходит для сериализации неструктурированных древовидных данных.Как сериализовать структуру графа?
Но многие проблемы лучше всего представлены графиками. Программа теплового моделирования, например, будет работать с температурными узлами, связанными друг с другом через резистивные края.
Итак, что является лучшим способом сериализации структуры графа? Я знаю, что XML может, в некоторой степени, сделать это - точно так же, как реляционная база данных может сериализовать сложную сеть объектов: она обычно работает, но может легко стать уродливой.
Я знаю о языке точек, используемом программой graphviz, но я не уверен, что это лучший способ сделать это. Вероятно, этот вопрос - это то, над чем может работать академия, и я хотел бы иметь ссылки на любые документы, обсуждающие это.
Я попытался использовать сериализацию Java для сериализации графика. Но я получаю исключения переполнения стека. По-видимому, это распространенная жалоба, и рекомендуемое решение заключается в написании низкоуровневого кода для переопределения «readObject()/writeObject()». Есть ли способ лучше? –
Я этого не видел. Важно, чтобы вы не сериализовали каждый узел самостоятельно, но вместо этого пусть Java сериализует весь граф в одном вызове, так как Java предотвращает запись одного и того же объекта дважды. Можете ли вы дать небольшой образец кода в другом вопросе? –