2013-04-21 157 views
0

我有一個類似的問題了一隻計算器文章中解決(Creating a java hierarchial treeset from a flat list生成唯一的密鑰

什麼我目前正在試圖做的是打印樹到一個文件中,有以下幾點:

  • 父母需要先打印出來,所以如果他們被導入(某處),他們首先被創建,這樣子女就可以被創建在他們的下面。
  • 我需要例如基於層次生成一個唯一的密鑰:

    根>父>兒童> GrandChild1

    根>父>兒童> GrandChild2

>是節點的分隔符,但不介意這是什麼...

有人能夠建議一種方法,我可以生成唯一的密鑰?

回答

0

我不確定你的鍵是什麼等,但它聽起來微不足道。

使用root第一次使用前綴打印

這裏是你如何打印打印前綴樹(此樹有數字,但它不應該的問題,你的想法)。下面的方法使用遞歸。

private void printPrefix(Node<?> node){ 

     //If node is null, reached end of chain, return to caller 
     if (node==null) { 
      return; 
     } 

     //Print self 
     System.out.print(node.getValue()); 
     System.out.print(" "); 

     //Print all children 
     for (Source child : node.children) //changed for multiple 
{ 
    printPrefix(child); 
} 

     return; 
    } 

關於更好的數據結構建議,你應該考慮一個b-tree。 https://www.google.com/search?q=b+tree&ie=UTF-8&oe=UTF-8&hl=en&client=safari#itp=open0

+0

感謝您的回覆。我的結構沒有左右節點,所以我如何使用上面的? – user2304232 2013-04-22 09:53:03

+0

更改爲解決多個孩子 – 2013-04-22 12:09:35