C#图遍历递归

C#图遍历递归,c#,search,recursion,graph,traversal,C#,Search,Recursion,Graph,Traversal,我需要使用什么递归算法遍历此图并获得此序列(输出): 初始数据(输入)(第一个是代码,第二个是您有多少代码,第三个是为了使用它您必须携带的代码,例如打印IF02,您必须已经打印IF01,打印IF05,您必须在之前打印IF04。等等) 对于这个问题,我能想到的最简单的解决方案是运行拓扑排序,您可以在这里看到算法: 在c中实现它应该没有问题# 下面是一篇包含实现的优秀文章: 数组的含义是什么?节点之间的关系和边的意义是什么?您必须为我们提供更多的输入/输出来帮助您我将所有这些数据存储在数组中。编辑:

我需要使用什么递归算法遍历此图并获得此序列(输出):

初始数据(输入)(第一个是代码,第二个是您有多少代码,第三个是为了使用它您必须携带的代码,例如打印IF02,您必须已经打印IF01,打印IF05,您必须在之前打印IF04。等等)


对于这个问题,我能想到的最简单的解决方案是运行拓扑排序,您可以在这里看到算法:

在c中实现它应该没有问题#

下面是一篇包含实现的优秀文章:


数组的含义是什么?节点之间的关系和边的意义是什么?您必须为我们提供更多的输入/输出来帮助您我将所有这些数据存储在数组中。编辑:添加输入你是对的,这就是算法!但是我不知道如何使用数组而不是列表或字典来实现它。@Seinioritz我添加了一篇关于实现的伟大文章是的,我看到了。但问题是我需要使用arraysis,使用array而不是list有一个特殊的原因吗?还请记住,您始终可以将数组转换为列表,反之亦然。是的,我只需要使用数组,而且我以前从未使用过列表。
IF01
IF04
IF02
IF03
IF08 
IF05 
IF06 
IF07 
IF09 
IF01 0
IF02 1 IF01
IF03 2 IF01 IF02
IF04 0
IF05 1 IF04
IF06 1 IF05
IF07 2 IF03 IF06
IF08 1 IF03
IF09 2 IF07 IF08