Javaで二分木の要素を合計する

ケンデルヴェントンダ

二分木の要素を再帰的かつ反復的な方法で合計しようとしています。再帰的なものは見つけますが、反復的なものは私に例外を与えます。

import java.util.Queue;

public class BinTree {

    public BinNode root;

    public boolean insertNode(BinNode bn) {
        BinNode child=null, parent=null;

        // Knoten suchen, nach welchem eingefuegt wird
        child = root;
        while( child != null) {
            parent = child;
            if (bn.element == child.element)     return false;
            else if (bn.element < child.element) child = child.left;
            else                                 child = child.right;
        }

        // Baum leer?
        if (parent==null)                     root = bn;
        // Einfuegen nach parent, links
        else if (bn.element < parent.element) parent.left = bn;
        // Einfuegen nach parent, rechts
        else                                  parent.right = bn;

        return true;
    }

    public BinNode findNode(int value) {
        BinNode  n = root;

        while (n != null) {
            if (value == n.element)     { return n;    }
            else if (value < n.element) { n = n.left;  }
            else                        { n = n.right; }
        }
        return null;
    }

    public String toString() {
        return root.toString();
    }

        //Max des Gesamtbaumes
        public int max(){
            if(root==null){
                return 0;
            }
            else {
                return root.max();
            }
        }

        //(Iterativ)
        public int max2(){
            //The line that throws out the exception
            Queue q = new LinkedList();
            int sum = 0;
            if(root!=null){
                q.add(root);
            }
            while(!q.isEmpty()){
                BinNode node = (BinNode) q.remove();

                if(node.left == null && node.right == null){
                    sum = sum + node.element;
                }
                else{
                    if(node.left != null){
                        q.add(node.left);
                    }
                }
                if(node.right != null){
                    q.add(node.right);
                }
            }
            return sum;
        }

}

Queue q = new LinkedList();MAX2-方法では私に例外を与えています。Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - incompatible types: javaapplication34.LinkedList cannot be converted to java.util.Queue

誰かがここで助けてもらえますか?キックスタートまたは少し説明をください。何が問題なのかよくわかりません。

ほとんどが一般的であるため、ここですべてのクラスを追加したわけではありません。ただし、必要に応じて追加します。

ジョーc

LinkedList同じパッケージで呼び出さたクラスを定義したようですが、実装されていませんQueue

を使用するjava.util.LinkedList場合は、修飾名全体をインポートまたは使用する必要があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Python-二分木の枝の合計を計算する

分類Dev

二分木でノードを合計する(python)-TypeError: 'NoneType'

分類Dev

Haskellデータ宣言:二分木で葉の合計を見つける

分類Dev

二分木で与えられた合計ですべてのパスを印刷するアルゴリズム

分類Dev

二分探索木の高さを計算する

分類Dev

O(1)の最小要素を取得する二分木

分類Dev

二分木のSML合計

分類Dev

二分木の最大合計BST

分類Dev

二分木javaで右端の子を見つける

分類Dev

Javaで最小二分木(BST)を作成する

分類Dev

Javaで二分探索木を構築する

分類Dev

プロローグ:二分木の葉の値を合計します

分類Dev

二分木ですべてのパスを検索する

分類Dev

二分探索木で最小合計を見つけるためのアルゴリズムの改善

分類Dev

二分木で最も深い葉ノードのみの合計を見つけますか?

分類Dev

二分木を1行で印刷する最良の方法は?

分類Dev

二分木でパスの合計を計算するためのポストオーダートラバーサル

分類Dev

二分木の要素の出現数を取得するための再帰的方法

分類Dev

二分探索木のノードのランクを計算する

分類Dev

二分探索木の各ノードの深さを計算する方法は?

分類Dev

二分探索木の各ノードの深さを計算する方法は?

分類Dev

この二分探索木を機能させる方法??? (Javaの場合)

分類Dev

二分木を別の木に追加する方法

分類Dev

二分探索木で要素を見つける方法は?

分類Dev

二分探索木に新しい要素を挿入する

分類Dev

二分木Haskellに要素を追加する

分類Dev

二分探索木から要素を削除する

分類Dev

二分探索木(C ++)の単一要素を削除します

分類Dev

二分探索木を分割する

Related 関連記事

  1. 1

    Python-二分木の枝の合計を計算する

  2. 2

    二分木でノードを合計する(python)-TypeError: 'NoneType'

  3. 3

    Haskellデータ宣言:二分木で葉の合計を見つける

  4. 4

    二分木で与えられた合計ですべてのパスを印刷するアルゴリズム

  5. 5

    二分探索木の高さを計算する

  6. 6

    O(1)の最小要素を取得する二分木

  7. 7

    二分木のSML合計

  8. 8

    二分木の最大合計BST

  9. 9

    二分木javaで右端の子を見つける

  10. 10

    Javaで最小二分木(BST)を作成する

  11. 11

    Javaで二分探索木を構築する

  12. 12

    プロローグ:二分木の葉の値を合計します

  13. 13

    二分木ですべてのパスを検索する

  14. 14

    二分探索木で最小合計を見つけるためのアルゴリズムの改善

  15. 15

    二分木で最も深い葉ノードのみの合計を見つけますか?

  16. 16

    二分木を1行で印刷する最良の方法は?

  17. 17

    二分木でパスの合計を計算するためのポストオーダートラバーサル

  18. 18

    二分木の要素の出現数を取得するための再帰的方法

  19. 19

    二分探索木のノードのランクを計算する

  20. 20

    二分探索木の各ノードの深さを計算する方法は?

  21. 21

    二分探索木の各ノードの深さを計算する方法は?

  22. 22

    この二分探索木を機能させる方法??? (Javaの場合)

  23. 23

    二分木を別の木に追加する方法

  24. 24

    二分探索木で要素を見つける方法は?

  25. 25

    二分探索木に新しい要素を挿入する

  26. 26

    二分木Haskellに要素を追加する

  27. 27

    二分探索木から要素を削除する

  28. 28

    二分探索木(C ++)の単一要素を削除します

  29. 29

    二分探索木を分割する

ホットタグ

アーカイブ