Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 查找相同类型节点的最长链_Algorithm_Actionscript_Graph_Nodes - Fatal编程技术网

Algorithm 查找相同类型节点的最长链

Algorithm 查找相同类型节点的最长链,algorithm,actionscript,graph,nodes,Algorithm,Actionscript,Graph,Nodes,我有一个由各种类型的互连节点组成的树结构。每个节点跟踪其连接到的节点。在这个结构中,我需要找到相同类型节点的最长未连接链或路径 我已经阅读了一些图表和广度/深度优先搜索,但是这些并没有得到我需要的结果。(它们将找到一个链,但也包括源节点和目标节点之间的所有死端分支) 是否存在用于此目的的现有算法?如果“链”是指连接的组件,则 假设你的图有边E和顶点V 迭代边,删除连接不同类型节点的所有边。这是O(| E |) 使用深度优先或宽度优先查找连接的零部件。这是O(| E |+| V |) 最大的连接组

我有一个由各种类型的互连节点组成的树结构。每个节点跟踪其连接到的节点。在这个结构中,我需要找到相同类型节点的最长未连接链或路径

我已经阅读了一些图表和广度/深度优先搜索,但是这些并没有得到我需要的结果。(它们将找到一个链,但也包括源节点和目标节点之间的所有死端分支)

是否存在用于此目的的现有算法?

如果“链”是指连接的组件,则

假设你的图有边E和顶点V

迭代边,删除连接不同类型节点的所有边。这是O(| E |)

使用深度优先或宽度优先查找连接的零部件。这是O(| E |+| V |)

最大的连接组件将是相同类型节点的最长链


如果链指的是简单循环(在同一节点开始、停止,不重新访问任何节点),则这是NP完全循环。如果所连接的组件很小,那么它仍然是可行的


如果链是指简单路径,那么这是NP难的。

最长的未连接链?如果你在寻找一条链,我想你会希望这些节点被连接起来?你能澄清一下吗?你能再解释一下你的问题吗?因为如果每个节点都跟踪它所连接的节点,看起来你有一个包含连接组件的图,对于每个节点类型,找到节点类型所在的连接组件的数量,大多数连接的组件中存在的类型是具有最长未连接链的类型。这就是你的意思吗?我想作者的意思是他可能会得到一个像((a->B),(a->F),(B->C),(C->D),(D->E)这样的图。A到F都是相同的节点类型。但是他想要任何分支,比如从图中修剪的A->F。这在((M->N),(N->O),(M->P),(P->Q))的情况下提出了一个问题,因为在同一棵树中有两个等长的分支——修剪哪一个?