0

stackoverflow の記事 (フラット リストから Java 階層ツリーセットを作成する)で取り上げられている問題と同様の問題があります。

私が現在やろうとしているのは、次のようにツリーをファイルに出力することです。

  • 親を最初に印刷する必要があるため、(どこかに) インポートされた場合、最初に作成され、その下に子を作成できます。
  • たとえば、階層に基づいて一意のキーを生成する必要があります。

    ルート > 親 > 子 > GrandChild1

    ルート > 親 > 子 > GrandChild2

>ノードの区切り文字ですが、これが何であるかは気にしないでください...

一意のキーを生成する方法を提案できる人はいますか?

4

1 に答える 1

0

キーなどで何を意味しているのかわかりませんが、些細なことに聞こえます。

ルートを使用してツリーを印刷するには、最初にプレフィックス印刷を使用します

プレフィックスを出力する方法は次のとおりです(このツリーには数字がありますが、問題ではありません。アイデアがわかります)。以下のメソッドは再帰を使用します。

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 ツリーを検討する必要があります。 https://www.google.com/search?q=b+tree&ie=UTF-8&oe=UTF-8&hl=en&client=safari#itp=open0

于 2013-04-21T12:30:27.697 に答える