2012-07-12 70 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