如何根据路径和节点属性过滤有向循环图中的路径

问题描述 投票:0回答:0

根据节点和边的属性过滤有向循环图中路径的最佳方法是什么?过滤器可以基于寻找经由具有特定属性的节点和路径到达目的地节点的路径。

示例查询可以像查找到目标节点的路径(具有给定属性) 通过节点和具有给定属性集的链接。

由于查询可以进行多次,因此如果一次处理,应用的过滤可以存储起来供以后使用,那将是可取的。 查询类型有限,是< 5.

图的设计是:

  • 节点和属性
    class Node
    {
       std::string nodeName;
       std::map<std::string, Link*> forwardLinkMap;
       std::map<std::string, string> nodeProperties;
    }
  • 转发链接和属性
    class Link
    {
      std::string linkName;
      Node* parentNode;
      Node* childNode;
      std::map<std::string, std::string> linkProperties;
    }

父节点已知,迭代从它开始。

如何对路径进行过滤,并将过滤后的信息存储在以后可以根据提供的参数进行迭代检索的方式? 可以修改节点和链接类来存储过滤信息,以供以后遍历使用。对我来说主要的挑战是处理多个父母的案件。

c++ algorithm data-structures graph graph-theory
© www.soinside.com 2019 - 2024. All rights reserved.