【发布时间】:2009-07-23 15:46:50
【问题描述】:
三级树状数据结构的最佳(易于维护、相当快速、健壮)实现是什么? 我想使用 Dictionary 或 SortedDictionary,因为所有值(节点)都有唯一的键。
第一级应该有大约 300 个项目,每一个都在第二级有 0 到 10 个(几乎不超过 100 个,通常少于 10 个)项目,在第三级大约有 10 个项目。第二层和第三层紧密相连,因此它们可能应该由一个对象表示。所有的关系都是 1:n
++-L1
|++-L2
||+--L3
||+--...1 to 10 L3 items for each L2
||+--L3
|+--L2
|+--...0 to 100, usually <10 L2 items for each L1
|+--L2
+--L1
+--L1
+--...about 300 L1 items
+--L1
在每个包含 2 级对象(真正的树)的 1 级对象中创建一个字典更好还是将所有 2 级对象放在一个目录中更好?
对象不是很大,它们只包含一些字符串和数字。该应用程序应该是独立的(不需要任何 sql server 左右)
或者对象表示是一个错误的选择,我应该选择完全不同的东西?
【问题讨论】:
-
你期待在树上进行搜索吗?
-
不是真正的搜索,但我打算添加一些过滤(从数据结构的角度来看可能是一样的......
标签: c# data-structures dictionary tree