tcl中广度优先搜索的实现

tcl中广度优先搜索的实现,tcl,Tcl,我正在尝试实现广度优先搜索算法,但我无法实现,而且我是TCL的新用户,任何人都可以帮助我在TCL中实现该算法。我想我们需要更多的细节才能提供帮助 那么,我们讨论的是一个图,如果是,是什么类型?最简单的是一个没有边权重的无向图,但情况就是这样吗 你有图表的数据结构吗?如果有,是什么 最后,你为什么要发明轮子?Tcllib有struct::graph包,它实现了宽度优先搜索,请参见walk命令。您是否可以使用struct::graph::op包中的算法来执行所需操作。如果要搜索文件而不是通用对象,请

我正在尝试实现广度优先搜索算法,但我无法实现,而且我是TCL的新用户,任何人都可以帮助我在TCL中实现该算法。

我想我们需要更多的细节才能提供帮助

那么,我们讨论的是一个图,如果是,是什么类型?最简单的是一个没有边权重的无向图,但情况就是这样吗

你有图表的数据结构吗?如果有,是什么


最后,你为什么要发明轮子?Tcllib有struct::graph包,它实现了宽度优先搜索,请参见walk命令。您是否可以使用struct::graph::op包中的算法来执行所需操作。

如果要搜索文件而不是通用对象,请在Tclx包中查找_recursive_glob命令。下面是一个简单的例子:

package require Tclx
for_recursive_glob fileName {/path/to/dir1 /to/dir2} {*.txt *.doc} { puts $fileName }
该文件称,对于递归全局,使用广度优先算法。如果要提前退出(即找到要查找的内容),请使用“break”命令退出for循环:

package require Tclx
for_recursive_glob fileName {/path/to/dir1 /to/dir2} {*.txt *.doc} { 
    puts $fileName
    if {[string match *myfile*]} { break }
}

如果您关注的是tcl,那么为什么要标记这个问题?您使用的是哪种树或图形实现?图形是否有循环也可能是一个问题。我正在尝试无向图,没有边权重,我还没有尝试我们建议的包Hello all,Thanx所有人都回答了我的第一个问题。我已经实现了BFS,以到达目标节点,同时从图移动到结束节点。我将所有节点(比如父节点)及其输出节点(子节点)存储在tcl数组中。但现在我无法检索两个节点之间的所有路径。等待你的回答。。。。。。