
我想问一下 图的遍历两种方法DFS和BFS作用域有向图和无向图有什么区别,例如如果是同一个结构的图就是上面
我想问一下图的遍历两种方法DFS和BFS作用域有向图和无向图有什么区别,例如如果是同一个结构的图就是上面多了箭头成为有向图遍历的结果呢一样吗?如果不一样有什么算法可以实现...
我想问一下 图的遍历两种方法DFS和BFS作用域有向图和无向图有什么区别,例如如果是同一个结构的图就是上面多了箭头成为有向图 遍历的结果呢 一样吗? 如果不一样有什么算法可以实现?谢谢
展开
1个回答
展开全部
结果肯定不一样的
可以通过链表实现,一个点作为起点的话,箭头指向的点就作为链表连接的下一个节点,依次直到最后一个点没有指向的点了
也可以通过数组实现,把图的所有点之间的联系做成一个矩阵,假如是10个点,就做一个10*10的矩阵数组a[10][10],a[m][n]表示由m点指向n点,如果没有连接设置a[m][n]=0,如果是n指向m就把a[m][n]设置为一个比较大的数,如果是m指向n就设置为m到n的距离。而a[n][m]也要设置一下,这就是有向图的a[m][n]和a[n][m]是不同的
思路大概是这样的,都写了好久了,你要需要的话,我可以发个源码给你参考,你可以留邮箱
可以通过链表实现,一个点作为起点的话,箭头指向的点就作为链表连接的下一个节点,依次直到最后一个点没有指向的点了
也可以通过数组实现,把图的所有点之间的联系做成一个矩阵,假如是10个点,就做一个10*10的矩阵数组a[10][10],a[m][n]表示由m点指向n点,如果没有连接设置a[m][n]=0,如果是n指向m就把a[m][n]设置为一个比较大的数,如果是m指向n就设置为m到n的距离。而a[n][m]也要设置一下,这就是有向图的a[m][n]和a[n][m]是不同的
思路大概是这样的,都写了好久了,你要需要的话,我可以发个源码给你参考,你可以留邮箱
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询