用于对包含/复合关系建模的数据结构

时间:2012-03-25 15:38:28

标签: algorithm design-patterns go

我在golang邮件列表中发布了类似的消息,因为它涉及一些语言特定的细节。我希望语言本机的cuncurrency支持可能有更好的方法来模拟这个模式。如果您不熟悉golang,请帮助我掌握您对数据结构的一般知识。我认为我的大部分疑虑都是中立的,我对SO的反应更好。

我正在尝试为存储区域建模(具有容器关系,例如存储 - > Rack(s) - > Shelf(s) - > Bin(s)。 据我所知,通常它可以用“复合模式”建模。但是,努力 - 保持结构(层次结构)细节与对象分开 - 使用语言结构(走树的频道等) 我正在考虑在树中建模信息。我不了解什么是适合此应用程序的最佳树结构。

  1. 在go中,我看到两个实现LLRB和treap的库。你会推荐什么?是否有更合适的数据结构?
  2. 树必须平衡吗?例如,我可能只有一个架子上的架子,但在其他架子上可以任意长期收容。
  3. 为了快速遍历,我会把它留在记忆中。如何管理加载,构建和保持树结构?我每次打开应用程序时都会构建树,并且不会保留树本身而是持久化对象。

1 个答案:

答案 0 :(得分:0)

你在Go-Nuts列表上得到了很好的答案。 Sameer Ajmani建议从内置类型入手是好的。在简单的解决方案证明不充分之前,不要陷入更复杂的事情。 Si家伙拥有坚持不懈的解决方案。 Gob快速而简单。