2012-07-12 98 views
1

我想在java中为活动对象实现一个类似于数据结构的树,其中节点可以在两个父项之间共享。我想要构建一个活动层次结构,其中一个活动可以被多个活动包含。我该怎么做?还是应该使用其他一些数据结构?像java中的数据结构树

+1

如果节点可以在两个父母之间共享,它不是*树*,它是*有向图*。 – dasblinkenlight 2012-07-12 19:07:59

+0

http://stackoverflow.com/questions/3522454/java-tree-data-structure? – Nivas 2012-07-12 19:08:20

+1

“树”和“共享”如何融合在一起?您需要[树](http://www.squidoo.com/computer-trees)或[图表](http://www.google.com/imgres?um=1&hl=zh-CN&sa=N&biw=1366&bih=639&authuser = 0&TBM = isch&tbnid = JgCaJ-PTd1gprM:&imgrefurl = HTTP://krisnadhi.wordpress.com/2011/06/22/classical-programming-vs-knowledge-based-programming-example/&docid=aLgE2hLRVqgpGM&imgurl=http:// krisnadhi .files.wordpress.com/2011/06/graph.png&W = 824&H = 536&EI = ciD_T43LI-_Z0QWDrIztCQ&变焦= 1&IACT = RC&DUR = 334&SIG = 112451261835707508851&页= 2&TBNH = 140&tbnw = 200&开始= 21&NDSP = 24&VED =1吨:429,R:13,S :21,I:187和Tx = 106&TY = 104)? – 2012-07-12 19:09:00

回答

1

像这样的东西应该工作:

public class Activity { 

    private Activity parent1; 
    private Activity parent2; 
    private List<Activity> children; 

    // other fields, getters, setters, methods, etc  

} 
+0

但是这个说每个活动都有两个父母。和许多孩子。但是我想要一个数据结构,我可以处理许多活动,但其中一些可能有两个父母。然后用哪个数据结构? – Golra 2012-07-12 21:44:55

0

要在设计决定,这是至关重要知道你是怎么需要浏览您的结构。如果只是自上而下,您只需要一个活动包含其子项列表。您如何确保至多有两项活动拥有某项活动是另一回事。如果你需要确保,那么你可能需要在活动中的父母参考。

+0

如果活动1将A,B和C作为孩子并且活动2将C和D作为孩子,那么每个孩子本身就是其他活动的父母。 – Golra 2012-07-12 21:47:43

+0

然后C显然有两个父母。还要别的吗? – 2012-07-13 06:32:04