2017-03-22 148 views
1

我正在創建一個應用程序來組織我的文件和文件夾。文件和文件夾結構將顯示在應用程序中。 說爲一個例子,客戶端將發送我的文件夾結構同文件如下獲取文件夾結構層次結構的最佳數據結構?

a 
    | 
    |—b— d — a.txt 
    |— e — b.txt 

1.A/B/d/A.TXT

2.A/B/E/b.txt

我第一次創建文件夾a,b,d第二次足以創建文件夾e。

當輸入是a/f/g/h/i/j/abc.txt我應該知道在此創建的最大文件夾是a - 我應該知道其他文件夾是新的 - 我必須能夠創建其餘文件夾。

現在我正在做的是解析每個文件級別,並檢查它在表中的存在,然後迭代。我想避免每次在每個級別查詢表格。所以,我想在樹層次結構中進行組織。什麼是維護這個文件夾結構的最佳數據結構?樹結構後如何解析樹?在二叉樹中說,它的屬性是右邊的數據會比根值大,而左邊的數據會少於根值。但在這裏我沒有任何邏輯背後的文件夾樹結構。在這種情況下,哪個樹實現將套用?

回答

0

您可以有一個自定義樹,其中節點可以有任意數量的子節點。類似於

class Node { 
    public String name; 
    public List<Node> children; 
} 

在此實現中,葉子將有一個空/空的子級列表。