当前位置: 首页 > 知识库问答 >
问题:

我们能在没有回溯的情况下做DFS吗?

东和怡
2023-03-14

不使用回溯方法是否可能实现DFS算法?如果是,那么请说明如何做到这一点。

共有1个答案

柴修筠
2023-03-14

如果不使用回溯,则无法实现DFS算法。

想想看,DFS的核心本质是从根节点开始尽可能地探索,直到它不得不回去探索其他潜在的路径。这意味着一旦算法碰到叶节点,您就会在探索该路径以寻找其他选项之前回溯到该节点。

为了进一步证明这一点,https://medium.com/@andreaiacono/backtracking-explained-7450d6ef9e1a将回溯定义为“一种通用算法...它增量地构建候选方案,一旦确定候选方案不可能完成到有效的解决方案,就放弃每个部分候选方案(”回溯“)。”看看这是如何应用于DFS的。

 类似资料:
  • 在我的项目中,我用Spring Batch 2.2编写了一个Quartz调度器。 根据我的要求,我想运行一个调度程序来获取应用程序配置属性,以刷新所有GlassFish集群上的配置缓存。 所以我不需要ItemWriter和ItemReader,它们用于文件读/写操作。那么我可以从中删除ItemReader和ItemWriter吗? 我的工作配置如下所述: 我正在编写业务逻辑以刷新JobClass

  • 问题内容: 据我所知,没有主方法就无法执行,因为运行Java程序时。Java虚拟机将查找main方法。如果JVM无法找到main方法,它将显示运行时错误。线程main中的异常找不到main类。 但是我搜索了许多博客,其中一些人说,是的,如果Java程序中有静态块,则可以通过静态博客来完成,类加载器会在Java调用main()方法之前加载所有静态块! 真的有可能吗?它们的可用性如何? 问题答案: 现

  • 我正在开发一个服务器端应用程序,即RESTAPI。用户可以通过这个API将自己手工制作的客户端的数据发布到我们自己的系统中。当然,我会记录数据的格式。但我的问题是,使用OAuth2实现身份验证是明智之举,还是我最好只使用SSL基本身份验证路由?若然,原因为何?我在谷歌上搜索了大量关于OAuth2的帖子和指南,如果不是他们正在处理的客户端,那就是Spring Security组合,我发现它很难遵循,

  • 我正在从文档中学习反应,但不确定在这个例子中超级()做什么。通常,它不需要传递给创建新实例的参数,然后调用React吗?组件的构造函数方法将这些参数合并到实例中?没有任何争论它是做什么的?

  • 我正在上一门Java课程,我们还没有正式学习if语句。我在学习,看到了这个问题:

  • 我仍然在考虑Kotlin中的coroutines,但我想知道这是否对我的问题有些矫枉过正,即在返回数据时立即更新文本视图。异常处理使回调变得非常丑陋,我想尽可能避免这些 suspend关键字是否仅仅意味着运行库可能会挂起一个需要一段时间才能完成的函数?还是只在coroutine内启用挂起?作为一个假设,我能写吗 是否知道,如果下载了1 GB的数据,将同时调用,而则等待由填充?