我正在研究一个测试图形的cs项目。我遇到了一个问题,我必须计算一般图形中的边数(图形可以是有向的或无向的)。任何人都可以提供一些关于如何编写一个方法的建议,如果图形是指向或无向的,该方法会返回吗?
感谢。
答案 0 :(得分:5)
嗯,通常情况下,“指向性”定义了你的邻接列表的样子,即应该给出。
另请注意,如果您通过一对有向边undirected
替换每个无向边directed
- a
,b
图可能基本上是a
图 - > b
和b
- > a
。
假设你有一个代表你的图表的邻接列表,例如你有:
a
,您有两个相邻的顶点b
,c
如果能够为列表中的每条边找到相反方向的边,则可以将图形视为无向(或者每对连接节点指向2个相反的有向边)。
否则,它被指示。 (考虑上面的例子,如果对于顶点b
,其相邻顶点列表中没有顶点a
。