0

完全な二分木: 完全な二分木は、最後のレベルを除くすべてのレベルが完全に埋められ、すべてのノードが可能な限り左にある二分木です。

方法: このようなツリーを再帰的に順番にトラバースしますか?

    1
  2   3
4  5 

ここで、2 と 3 は 1 のノード、4 と 5 は 2 のノードです。

4

2 に答える 2

3

ツリートラバーサルには、基本的に 3 つのアルゴリズムがあります

PreorderInorderおよびPostorder

void inorder(root_node)
{
    if(root_node != null)
    {
        inorder(root_node->left);
        println(root_node->value);
        inorder(root_node->right);
    }
}

出力: 4 2 5 1 3

詳細については、このリンクを参照してください。

編集:

あなたの質問に答えるには(コメントセクションで)、すべてのノードaccをトラバースしたい場合。ツリー内のレベルまで、グラフ トラバーサル アルゴリズムを使用する必要があります。あなたの場合、BFS - 幅優先検索になります。

(注: 木も一種のグラフです)

詳しくはこちらをご覧ください。

于 2012-10-25T06:10:04.510 に答える
0

この質問は漠然としていて、何を求めているか、何が最も効果的かなどによって異なります。

以下をご覧ください: 二分木のツリー探索アルゴリズム

于 2012-10-25T06:12:14.460 に答える