首页 文章

在C中实现深度优先搜索

提问于
浏览
3

我正在学习数据结构和抽象数据类型,并且我一直陷入一个不断涌现的问题 .

我不明白计算机科学现在已有50年历史了(或更老,我不确切知道)以及数据结构,ADT和算法如何成为这一切的基础部分,但仍然没有标准任何一个 .

我的问题实际上非常具体:我正在尝试在C语言中实现深度优先搜索,这种方式可以适用于任何本机(内置)数据类型 . 我的问题是,我先在哪里看?我知道STL的堆栈类可以用来实现DFS算法,但STL是第一个看的地方吗?我应该从头开始实现DFS,使用堆栈以及我对实现此算法的了解吗?或者,当专业程序员需要进行这种搜索时,他们会找到一个库?

请注意,这个问题并不像我希望的那样具体 .

2 回答

  • 7

    Boost在这里有一个C深度优先搜索实现:

    http://www.boost.org/doc/libs/1_42_0/libs/graph/doc/depth_first_search.html

  • 5

    把你的知识用到!您知道STL并且您知道如何使用堆栈实现DFS,最重要的是,它非常简单,因此您可以自己编写代码 .

    大多数人建议Boost . 但如果这是你唯一需要Boost的东西,那么最好自己编写DFS . 另一方面,您还想学习如何使用已有的东西 .

相关问题