0

我需要使用 C++ 编写一个图表,但我有一个小问题。我的图表应该是有向的或无向的,加权的或未加权的,基于矩阵或列出所有用户的选择。并且区分矩阵和列表图并不是什么大问题,因为它是两个不同的类,所以我在其他参数方面遇到了一些问题。区分它们最明显的方法是制作两个bool变量,并在每次添加和删除顶点时检查它们。这很明显也很容易理解,但我怀疑它的效率,因为每次我添加或删除顶点时,我都必须做额外if的 . 我也可以为它编写子类,但我严重怀疑它是否值得。

每个库都可以使用,如果它不代表图形本身。

4

1 回答 1

3

对于有向和无向的最佳情况是为您的图使用 bool 变量,但是您可以假设您的图是加权和有向的,但对于无向边,从 a→b 添加一条边,从 b→a 添加一条边。此外,如果没有权重函数将其权重设置为1.

但是,如果您正在寻找图形库,这取决于您的编程语言,但我建议完全用 c++ 实现的图形增强库,而太多其他人部分地用其他语言实现它。

于 2012-04-30T11:05:05.483 回答