2017-03-22 12 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

ノードが任意の数の子を持つカスタムツリーを持つことができます。葉は子供の空/ nullのリストを持っています。この実装では

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

ような何か。

関連する問題