gpt4 book ai didi

algorithm - 使用纯功能深度优先搜索时如何防止循环

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:21:30 25 4
gpt4 key购买 nike

我有一个图,该图实现为连接任意节点的边列表,数据类型定义如下。

type edge = int * int;;
type graph = edge list;;

我将如何执行纯功能深度优先搜索同时避免陷入循环?我不太确定如何在保持纯功能的同时跟踪所有访问过的节点。答案可能是一些微不足道的东西,出于某种原因我在概念上无法理解。

最佳答案

搜索功能有一个跟踪访问节点的参数。在 FP 中,其中一个见解是您可以不断地更深入地调用(使用尾调用)。因此,您可以在所有调用中传递参数,同时添加新节点。

另一个参数可能是您计划稍后访问的节点。对于 DFS,这将像堆栈一样工作。

关于algorithm - 使用纯功能深度优先搜索时如何防止循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33361978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com