Tag: 向图

图表发生率列表实现

我正在考虑图形数据结构实现,我正在查看“发生率列表”表示。 这里有一个简短的描述: 发病率清单 因此,图中的每个顶点都存储了它所发生事件的边缘列表。 鉴于我的图表是一个有向图,我从这个描述中不太清楚几点: 图表本身是否也存储了所有边的列表? 顶点只存储传出边缘,还是传入和传出? 如果两者都是,他们是在单独的名单? 我对其他图形表示(邻接列表,邻接矩阵,边缘列表,关联矩阵)非常熟悉,因此这不是关于图形实现的问题,只是这个特定的图形实现。 任何指针都将非常感激。

使用递归回溯在有向图中查找所有周期

我正在使用递归回溯来查找有向图中的循环。 这里有一个建议的伪代码, 在这里: dfs(adj,node,visited): if (visited[node]): if (node == start): “found a path” return; visited[node]=YES; for child in adj[node]: dfs(adj,child,visited) visited[node]=NO; 使用start节点调用上面的函数: visited = {} dfs(adj,start,visited) 虽然与Tarjans algorithm相比,这不是最有效的算法,但这对我来说很容易理解。 目前,此代码没有检测到的数字周期数。 我用Java实现了这个: //this is the main method that calls the helper DFS which runs on each node public int allCyclesDirectedmain(){ //this initializes all vertices clearAll(); int[] count […]