霍夫曼树代码字编码

时间:2016-11-04 02:12:12

标签: java binary-tree binary-data huffman-code

打印出此二叉树中各个节点的二进制代码字时出现问题。我使用inOrder Traversal有关如何概括这一点的任何建议?树看起来像这样 enter image description here

    public static String Encodehelper (char[] s, BinaryNode<Data> root){

    Encode[] myCode = new Encode[s.length];

        if(root != null){
      if(root.getLeft()!=null)
        {
            code+="0";
        }

        getKey(s,root.getLeft());   
           if(root.getRight()!=null)
        {
            code+="1";
        }

         System.out.println(root.getElement().getSymbol() + " " + code);  

        if(root.getLeft()==null)
       {
            code=code.substring(0,code.length()-1);
        }
        getKey(s,root.getRight());

    }
    return " "; // for now...
}

返回

A 0

1

C 100

101

G 101

101

T 101

而不是

A 0

1

10

C 100

G 101

T 11

0 个答案:

没有答案