QuickGraph - 如何将边与类关联? (即就像使用顶点一样)

发布于 2024-08-30 13:14:04 字数 357 浏览 4 评论 0原文

Q1 - 如何将边缘与类关联? (即就像使用顶点一样)

就我而言,我希望能够对各种类型的边进行建模。所以我想我真正的问题是如何将某种级别的数据与边缘(例如边缘类型)相关联。

我正在查看使用的图表是: http://quickgraph.codeplex.com /wikipage?title=Bi DirectionGraph&referringTitle=文档

谢谢

Q1 - How can I associate an Edge with a Class? (i.e. like you can with a Vertex)

In my case there are various types of edges I want to be able to model. So my real question I guess is how can I associate some level of data with Edges (e.g. edge type).

The graph I was looking at using was: http://quickgraph.codeplex.com/wikipage?title=BidirectionalGraph&referringTitle=Documentation

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

月亮是我掰弯的 2024-09-06 13:14:04

默认情况下,边仅连接图上的两个顶点。如果您需要与边关联的更多信息(即“关系”),可以实现 IEdge 接口或子类 Edge。然后,在自定义边缘类中,您可以存储与该边缘相关的信息。

public class MyEdge<TVertex> : Edge<TVertex>
{
    public string Name { get; set; }

    public MyEdge(TVertex source, TVertex target) : base(source, target)
    {
    }
}

...稍后

var graph = new BidirectionalGraph<int, MyEdge<int>>();

An edge by default only connects two vertices on the graph. If you need more information associated with an edge (i.e. a "Relationship"), you can implement the IEdge<T> interfaces or subclass Edge<T>. Then, in your custom edge class you can store the information that's relevant to that edge.

i.e.

public class MyEdge<TVertex> : Edge<TVertex>
{
    public string Name { get; set; }

    public MyEdge(TVertex source, TVertex target) : base(source, target)
    {
    }
}

... later

var graph = new BidirectionalGraph<int, MyEdge<int>>();
晨与橙与城 2024-09-06 13:14:04

您还可以使用 TaggedEdge 类,它允许您将任意对象与每条边关联起来。

You can also use the TaggedEdge class, which allows you to associate an arbitrary object with each edge.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文