我正在观看MIT ocw video关于DFS算法的实现。我完全理解它,并尝试在图的邻接表上实现它。
以下是我的代码:
Option Explicit
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists("C:\output.log") Then
Else
fso.CreateFolder("C:\temp")
fso.CopyFolder "\\DOMAIN\FOLDER", "c:\temp\FOLDER"
End If
If fso.FolderExists( "C:\temp")
fso.CopyFolder "\\DOMAIN\FOLDER", "c:\temp\FOLDER"
Else
fso.CreateFolder("C:\temp")
fso.CopyFolder "\\DOMAIN\FOLDER", "c:\temp\FOLDER"
End If
即使使用sys模块增加了递归限制,该错误也不会消失。
图形规格:
parent={}
def DFSv(adj,s):
for v in adj[s]:
if v not in parent:
parent[v]=s
DFSv(adj,v)
def DFS(adj):
for s in adj:
if s not in parent:
parent[s]="None"
DFSv(adj,s)
a={1: [2, 5], 2: [1, 3, 5], 3: [2, 4, 6], 4: [3, 5, 6], 5: [1, 2, 4], 6: [3, 4]}
DFS(a,1,6)