【发布时间】:2010-10-10 23:21:33
【问题描述】:
我需要在 C#/SQL Server 中实现一个数据结构,它是一点点树和一点点图。我可以想到如何暴力破解这一点,但性能非常重要。这就是我需要帮助的地方。
以下是要求:
1) 有n个根节点。
2) 每个节点可以有 n 个子节点。
3) 每个节点都是一个列表。
4) 每个节点都可以与另一个节点或节点列表中的项目相关。
5) 关系(边?)有一个类型。具体来说,节点可以有松散的关系(图书馆中所有具有相同主题的书籍)、代际关系(对食谱的调整)、变体关系(一本书的翻译)。
6) 每个节点都可以有一个权重。
我不太精通标准词典中没有的数据结构(列表、树、哈希表、字典等)。所以可能有一些我不知道的东西。当我用谷歌搜索“graph sql server”时,我得到了很多关于报告的漂亮图表控件的链接。性能至关重要,可能需要将数百万个节点放入内存。我什至会用一个精心设计的查询来进行 LMGTFY,因为我似乎无法表达我想要的东西。任何起点都会有所帮助。
【问题讨论】:
-
让你希望你可以使用Neo4j,不是吗? :-)
-
节点的权重对访问节点所需的相对性能有影响吗?
标签: c# sql-server-2008 data-structures