首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从加权图的文件中编码邻接矩阵

如何从加权图的文件中编码邻接矩阵
EN

Stack Overflow用户
提问于 2018-10-10 03:48:28
回答 1查看 104关注 0票数 0

我刚刚开始学习图和邻接矩阵,我必须从一个加权图的文本文件创建一个邻接矩阵。文本文件将如下所示:

代码语言:javascript
复制
0 4 5 0 6
4 0 0 3 6
5 0 0 0 8
0 3 0 0 0
6 6 8 0 0

(我们可以假设矩阵总是对称的)

在此基础上,我们必须创建一个方法来执行广度优先搜索和深度优先搜索。我理解图和搜索的理论,但我在编码时遇到了麻烦。此外,如果你可以做sudo代码而不是实际的代码,这样我仍然可以自己学习/做它,那就太好了!非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2018-10-10 04:16:51

对于深度优先搜索,我将递归地使用一个函数,并传递当前节点的int和其中已访问的节点列表,并重复此操作,直到所有节点都被访问,然后返回递归,在所有节点都已被访问时返回到下一个节点

代码语言:javascript
复制
check node(currentNode, ListOfVisited)

     check=0
     while(check!=n)//where n is the size of the array
         if (matrix.get(check,currentNode) is not in ListOFVisited)
         add n to listOfVisted 
         checkNode(currentNode, ListOfVisited)
     end while

//此代码将在函数"back up“时调用

代码语言:javascript
复制
check++

 end while

对于bredth第一次搜索,我也会递归地执行,但首先检查所有邻居,并将它们保留在队列中,然后在队列中循环

代码语言:javascript
复制
 queue is empty

 checknode(node, visited)
     check=0
     while(check!=n)
         if (matrix.get(check,currentNode) isn't in visited)
             queue.add(check)
         end if
         check++
     end while
 while(queue isn't empty)
     checkNode(queue.pop)
 end while
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52728329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档