0

我正在学习算法和数据结构器的课程,我的导师希望我实现几个数据结构器(如 BST、堆栈等)和算法(如快速搜索、DFS 等)。我想相信我了解基础知识,但是每次我开始计划代码时,我都会遇到同样的困难:

这是我目前的任务:我的导师希望我为有向图(使用 c++)实现 DFS(深度优先搜索)。

我的问题是 - 我应该如何实现图表?我应该使用邻接矩阵吗?还是我应该使用邻接列表?既不是这个也不是那个??所以我问我的导师,他的回答是:“把图表想象成一个黑盒子”......比以前更困惑,我冲到stackoverflow上,我在这里发布这个问题......我不找人告诉我如何实现 DFS(或任何其他算法——我也可以用谷歌搜索!)——我只需要有人解释我应该得到什么作为输入,我应该提供什么作为输出?

我会很感激任何评论!谢谢!

4

1 回答 1

1

他所说的黑匣子的意思只是在你做 DFS 之前你看不到节点以及它们是如何连接的。您可能只需要从那里探索根节点和您的算法。至于你应该输出什么——这取决于任务。您在寻找特定数据吗?如果不是,也许是按顺序访问了哪些节点的详细信息。

于 2013-03-26T20:25:05.520 回答