我想表示一个无向图,比如这个:
http://cnx.org/content/m29399/latest/Picture%202.png
成一个 xml 文件。我不确定如何开始。
编辑:我想要 xml 格式的数据,所以我可以使用 xml 重建图形。
提前致谢
我想表示一个无向图,比如这个:
http://cnx.org/content/m29399/latest/Picture%202.png
成一个 xml 文件。我不确定如何开始。
编辑:我想要 xml 格式的数据,所以我可以使用 xml 重建图形。
提前致谢
我一直在尝试,这似乎奏效了:
<Nodes>
<Node>
<Name>A</Name>
</Node>
<Node>
<Name>B</Name>
</Node>
....
</Nodes>
<Routes>
<Route>
<from>A</from>
<to>B</to>
<cost>7</cost>
</Route>
....
</Routes>
可能不是最好的方法,但这对我有用:)enter code here
图由顶点和边组成。所以在顶层,XML 描述应该是这样的
<graph>
<vertices>...</vertices>
<edges>...</edges>
</graph>
<vertices>
容器将有元素<vertex>
来携带每个顶点的信息。特别是,您将需要一个唯一标识符,边可以通过该标识符引用顶点。所以,像这样
<vertices>
<vertex id="A">other information, if needed</vertex>
<vertex id="B">...</vertex>
...
</vertices>
<edge>
容器内的每个<edges>
都需要至少三条信息:连接的顶点和边缘的权重。因此,例如
<edges>
<edge ends="A B">7</edge>
<edge ends="B C">8</edge>
...
</edges>
您可以将所有这些放入一个模式中,例如,您可以强制要求“ends”属性携带对图中确实存在的顶点 id 的引用(即,查找 xs:ID 和 xs:IDREF XML 模式文档)。
您是否需要将图形转换为 xml,或者您是否已经拥有某种格式的数据?
第一个很难,第二个你可以看看Boost::Graph。