我正在上一门算法和数据结构类(class),我的老师要我实现几个数据结构(例如 BST、堆栈等)和算法(例如快速搜索、DFS 等)。 我想相信我了解基础知识,但每次我开始规划代码时,我都会遇到同样的困难:
这是我当前的作业:我的导师要我为有向图实现 DFS(深度优先搜索)(使用 C++)。
我的问题是 - 我应该如何实现图表?我应该使用邻接矩阵吗?还是应该使用邻接表?既不是这个也不是那个?? 所以我问了我的老师,他的回答是这样的:“把图表想象成一个黑盒子”...... 比以前更困惑,我冲向 stackoverflow,在这里我发布了这个问题...... 我不想找人告诉我如何实现 DFS(或任何其他算法 - 我也可以谷歌!)- 我只需要有人解释我应该得到什么作为输入,我应该提供什么作为输出?
我将不胜感激任何评论!谢谢!
最佳答案
他所说的黑匣子 的意思只是您在执行 DFS 之前看不到节点以及它们如何连接。您可能只会获得根节点,而您的算法必须从那里进行探索。至于你应该输出什么——这取决于任务。您在寻找具体数据吗?如果不是,可能是按哪个顺序访问了哪些节点的详细信息。
关于c++ - 数据结构实现代码理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15646211/