d*******n 发帖数: 524 | 1 undirected,大约几个到几十个node的规模。
感觉这是一个很常见的data structure,所以应该有比较经典的实现方法。请问一般来
说是怎么实现的?哪里有比较好的sample code? |
d*******n 发帖数: 524 | 2 BTW,我知道有boost,可是。。。。。。有没有门槛低一点的。。。。。。
【在 d*******n 的大作中提到】 : undirected,大约几个到几十个node的规模。 : 感觉这是一个很常见的data structure,所以应该有比较经典的实现方法。请问一般来 : 说是怎么实现的?哪里有比较好的sample code?
|
X****r 发帖数: 3557 | 3 怎么实现图取决于你要对这个图进行什么样的操作。不过老实说,你只有几十个节点的话
怎么做都不会太坏就是了。最简单就是N乘N的矩阵,1代表相连,0代表不相连。
【在 d*******n 的大作中提到】 : undirected,大约几个到几十个node的规模。 : 感觉这是一个很常见的data structure,所以应该有比较经典的实现方法。请问一般来 : 说是怎么实现的?哪里有比较好的sample code?
|
d*******n 发帖数: 524 | 4 从wikipedia上找到下面的文档
http://hamilton.bell.ac.uk/swdev2/notes/notes_18.pdf
这里面提供的representation是Hashmap + LinkedList
就是用LinkedList来存每一个node的adjacent nodes,然后用hashmap把每一个node对
应到它的adjacent nodes LinkedList上去。
请问这是算不算是比较经典的实现graph的方法?
【在 d*******n 的大作中提到】 : undirected,大约几个到几十个node的规模。 : 感觉这是一个很常见的data structure,所以应该有比较经典的实现方法。请问一般来 : 说是怎么实现的?哪里有比较好的sample code?
|
r*********r 发帖数: 3195 | 5 最简单的是 list< vector< int > > 表示的 adjacency list.
boost::graph 是难懂了一点, 但底层的数据结构也就是这个 list> |
d*******n 发帖数: 524 | 6 为什么要用list< vector< int > > 而不是像我上面那个帖子里提到的用list来
表示adjacency list?
【在 r*********r 的大作中提到】 : 最简单的是 list< vector< int > > 表示的 adjacency list. : boost::graph 是难懂了一点, 但底层的数据结构也就是这个 list>
|
r*********r 发帖数: 3195 | |