algorithm - 在广度优先搜索和深度优先搜索中,为什么访问的数组是全局初始化的
问题描述
访问的数组是指我们保存节点是否被访问的记录的数组。
解决方案
为什么访问的数组是全局初始化的?
由于数组用于跟踪整个图,因此最好进行全局/类级别的初始化。
否则,在方法级初始化中,您需要visited[]
通过引用传递跟踪信息(也称为数组),或者为每次调用探索节点创建一个新副本。
此外,如果:
您正在跟踪当前节点的本地内容;或者
该算法的实现不是递归的;
您也可以取消本地初始化。
推荐阅读
- javascript - 检查对象键中的 jQuery 选择器是否具有非空值
- c++ - 自定义选项打破了严格的别名规则
- list - Scala 两个不同大小的列表根据条件连接
- ssis - 使用表达式生成器评估表达式
- javascript - 正则表达式验证字符串是否以特定的单词集结尾
- php - 不需要返回空值?
- azure - Azure DevOps CI/CD 未在活动状态下部署我的管道触发器
- php - Symfony Form EntityType 默认不选择渲染时的当前值
- python - Scipy interp 比 3D meshgrid 中的 matlab interp 慢得多
- javascript - 如何使用 jest.useFakeTimers(); 与反应