数据模型,图形库,C++; 我创建了一个C++图形库来实现图形算法。我正在考虑类“Graph”的适当表示
图有两种主要类型(定向/非定向)和表示(列表/矩阵) 我在算法方面没有问题……但我想提出一个合适且健壮的数据结构(如果需要,包括类的继承序列) 目前我并没有使用任何特殊的数据结构来表示图,静态方法有作为输入参数的关联、邻接。。。矩阵 这样的类应该保留图形的两种表示,还是只保留一种表示,并在两种表示之间具有转换函数?你更喜欢哪一种数据模型,图形库,C++; 我创建了一个C++图形库来实现图形算法。我正在考虑类“Graph”的适当表示,c++,graph,datamodel,C++,Graph,Datamodel,图有两种主要类型(定向/非定向)和表示(列表/矩阵) 我在算法方面没有问题……但我想提出一个合适且健壮的数据结构(如果需要,包括类的继承序列) 目前我并没有使用任何特殊的数据结构来表示图,静态方法有作为输入参数的关联、邻接。。。矩阵 这样的类应该保留图形的两种表示,还是只保留一种表示,并在两种表示之间具有转换函数?你更喜欢哪一种 许多人用不同的方法解决了这个问题 在重新发明轮子之前,您可以先看看。别忘了。在重新发明轮子之前,你可以先看看。别忘了。你这样做是为了上课还是作为学习练习?因为如果没有,
许多人用不同的方法解决了这个问题 在重新发明轮子之前,您可以先看看。别忘了。在重新发明轮子之前,你可以先看看。别忘了。你这样做是为了上课还是作为学习练习?因为如果没有,正如你所指出的,这个问题已经解决了很多次。当一个人浏览各种解决方案时,他意识到有一些问题是他没有解决的,比如:
- 有向/无向图
- 将用户数据与节点和边关联
- 稀疏图与稠密图
- 大图与小图
- 基于模板与非基于模板
- 对其他包的依赖性
你这样做是为了上课还是作为学习练习?因为如果没有,正如你所指出的,这个问题已经解决了很多次。当一个人浏览各种解决方案时,他意识到有一些问题是他没有解决的,比如:
- 有向/无向图
- 将用户数据与节点和边关联
- 稀疏图与稠密图
- 大图与小图
- 基于模板与非基于模板
- 对其他包的依赖性
做得很好,但代码在某些情况下非常复杂。@xis19:哦,只是有点复杂:)虽然这通常是灵活性/通用性的折衷办法之一。很抱歉,您没有回答我的问题:-)。。。Boost太复杂了,而且a在图形算法中的功能非常少。做得不错,但代码在某些情况下非常复杂。@xis19:哦,只是有点复杂:)虽然这通常是灵活性/通用性的权衡之一。很抱歉,您没有回答我的问题:-)。。。Boost太过复杂,在图算法中的功能非常少。实际上,这个问题似乎没有解决很多次,因为在那里似乎没有太多的C++模板图库。实际上,这个问题似乎没有被解决很多次。从这个意义上说,那里似乎没有那么多C++模板图库。